FrankYou don't have to import the class for the FK. Instead do a "lazy 
import".That means you just use "appname.Modelname" and Django is smart enough 
to fugure it out.CheersMike--(Unsigned mail from my phone)
-------- Original message --------From: frank dilorenzo <frankdi...@gmail.com> 
Date: 5/6/21  01:20  (GMT+10:00) To: Django users 
<django-users@googlegroups.com> Subject: Re: model configuration Thank Mike.  I 
am sorry for all this code but I am including it to show the problem I can't 
resolve.  I have 3 apps, shipment, supplier, specie. This is the models for 
them.from django.db import modelsfrom .models import Shipmentfrom django.utils 
import timezone# Create your models here.# A specie can belong to many 
shipmentsclass Specie(models.Model):    shipment = 
models.ManyToManyField(Shipment)    name = models.CharField(max_length=120, 
null=True)    image = models.ImageField(upload_to="species", 
default="no_picture.png")    created = 
models.DateTimeField(default=timezone.now)    def __str__(self):        return 
self.name===================from django.db import modelsfrom .models import 
Supplier# Create your models here.# A shipment can have many speciesclass 
Shipment(models.Model):    supplier = models.ForeignKey(Supplier, 
on_delete=models.CASCADE)    slabel = models.CharField(max_length=10)    
received = models.PositiveIntegerField(default=0)    bad = 
models.PositiveIntegerField(default=0)    non = 
models.PositiveIntegerField(default=0)    doa = 
models.PositiveIntegerField(default=0)    para = 
models.PositiveIntegerField(default=0)    released = 
models.PositiveIntegerField(default=0)    entered = 
models.BooleanField(default=False)    created = 
models.DateTimeField(auto_now_add=True)    def __str__(self):        return 
f"{self.slabel}"======================from django.db import models# Create your 
models here.# Supplier can have many shipmentsclass Supplier(models.Model):    
name = models.CharField(max_length=120, null=True)    phone = 
models.CharField(max_length=15, null=True)    email = 
models.CharField(max_length=120, null=True)    created = 
models.DateTimeField(auto_now_add=True)    updated = 
models.DateTimeField(auto_now=True)    def __str__(self):        return 
self.namethe error I can't resolve is:ImportError: cannot import name 
'Supplier' from partially initialized module 'shipment.models' (most likely due 
to a circular import) 
(/Users/frankd/django_projects/tryit/src/shipment/models.py)thanks again.On 
Thursday, June 3, 2021 at 10:47:07 PM UTC-5 Mike Dewhirst wrote:On 4/06/2021 
1:39 pm, Mike Dewhirst wrote:
> On 4/06/2021 11:34 am, frank dilorenzo wrote:
>> I have the following conditions.
>> A supplier can have many shipments.
>> A shipment can have many species.
>> A shipment can have only one supplier.
>> Species can belong to many shipments.
>
> supplier 1:n shipment
> shipment n:m species

shipment has FK to supplier

species has m2m field with shipment

The latter implements a connecting table between species and shipment 
which can be expanded to carry additional information if you need to 
include anything related to a particular shipment + species

In all this I refer to the word species in its singular sense. E.g., we 
are members of the human species.


>
>>
>> No matter how I try I can't seem to configure the models correctly.  
>> I was hoping someone could help me on this.
>>
>> Thank you.
>> -- 
>> You received this message because you are subscribed to the Google 
>> Groups "Django users" group.
>> To unsubscribe from this group and stop receiving emails from it, 
>> send an email to django-users...@googlegroups.com 
>> <mailto:django-users...@googlegroups.com>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/django-users/5ea61c33-9f24-470d-8191-177c2e73adf1n%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/django-users/5ea61c33-9f24-470d-8191-177c2e73adf1n%40googlegroups.com?utm_medium=email&utm_source=footer>.
>>  
>>
>
>


-- 
Signed email is an absolute defence against phishing. This email has
been signed with my private key. If you import my public key you can
automatically decrypt my signature and be sure it came from me. Just
ask and I'll send it to you. Your email software can handle signing.






-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/ae4089fd-3499-41e4-8409-1b3a7f83d96dn%40googlegroups.com.

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/60bad65b.1c69fb81.99f34.a675SMTPIN_ADDED_MISSING%40gmr-mx.google.com.

Reply via email to