Hi,  

You shouldn't have to import since the models are in the same models.py  

On Wednesday, January 26, 2022 at 2:26:13 PM UTC-5 [email protected] wrote:

> After trying the suggestions I get these errors.
>
> supplier.models:
>
> class Supplier(models.Model):
>
>     name = models.CharField(max_length=50)
>
>     phone = models.CharField(max_length=15, null=True, blank=True)
>
>     email = models.CharField(max_length=120, null=True, blank=True)
>
>     country = models.CharField(max_length=120, null=True, blank=True)
>
>     address = models.CharField(max_length=120, null=True, blank=True)
>
>     city = models.CharField(max_length=120, null=True, blank=True)
>
>     state = models.CharField(max_length=120, null=True, blank=True)
>
>     zipCode = models.CharField(max_length=10, null=True, blank=True)
>
>
>     def __str__(self):
>
>         return self.name
>
>
> shipment.models:
>
> ----------------
>
>
> from django.db import models
>
>
> from specie.models import Specie
>
> from supplier.models import Supplier
>
>
> # Create your models here.
>
>
>
> class Shipment(models.Model):
>
>     created = models.DateTimeField()
>
>     specie = models.ManyToManyField(Specie)
>
>     label = models.CharField(max_length=10)
>
>     received = models.PositiveIntegerField()
>
>     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)
>
>     supplier = models.ForeignKey(Supplier, on_delete=models.DO_NOTHING)
>
>
>     def __str__(self):
>
>         return self.supplier
>
>
>     class Meta:
>
>         ordering = ["label"]
>
>
>     def __str__(self):
>
>         return self.label
>
>
> # =================================#
>
> When I add the line supplier = models.ForeignKey(Supplier, 
> on_delete=models.DO_NOTHING)
>
> I get this error:
>
>
> File "/Users/frankd/django_projects/Insectarium/src/shipment/models.py", 
> line 4, in <module>
>
>     from supplier.models import Supplier
>
>   File 
> "/Users/frankd/django_projects/Insectarium/src/supplier/models.py", line 3, 
> in <module>
>
>     from shipment.models import Shipment
>
> ImportError: cannot import name 'Shipment' from partially initialized 
> module 'shipment.models' (most likely due to a circular import) 
> (/Users/frankd/django_
>
>
>
> specie.models:
>
> --------------
>
> from django.db import models
>
> from django.utils import timezone
>
> from ckeditor.fields import RichTextField
>
>
> from shipment.models import Shipment
>
>
> # Create your models here.
>
>
>
> class Specie(models.Model):
>
>     scientific_name = models.CharField(max_length=50)
>
>     common_name = models.CharField(max_length=50, blank=True, null=True)
>
>     description = RichTextField(blank=True, null=True)
>
>     image = models.ImageField(
>
>         upload_to="specie/images/species", default="no_picture.png"
>
>     )
>
>     shipment = models.ManyToManyField(Shipment)
>
>     created = models.DateField(default=timezone.now)
>
>
>     def __str__(self):
>
>         return self.scientific_name
>
>
>     class Meta:
>
>         ordering = [
>
>             "scientific_name",
>
>         ]
>
>
>     def __str__(self):
>
>         return self.scientific_name
>
>
> # ====================== #
>
> when I add the line shipment = models.ManyToManyField(Shipment)
>
> I get this error.
>
>
> File "<frozen importlib._bootstrap>", line 241, in 
> _call_with_frames_removed
>
>   File 
> "/Users/frankd/django_projects/Insectarium/src/shipment/models.py", line 3, 
> in <module>
>
>     from specie.models import Specie
>
>   File "/Users/frankd/django_projects/Insectarium/src/specie/models.py", 
> line 5, in <module>
>
>     from shipment.models import Shipment
>
> ImportError: cannot import name 'Shipment' from partially initialized 
> module 'shipment.models' (most likely due to a circular import) 
> (/Users/frankd/django_
>
>
>
> I think I tried this before but couldn't resolve these errors. Any 
> suggestions would be appreciated.
>
>
> frank-
>
>
> On Wed, Jan 26, 2022 at 10:53 AM frank dilorenzo <[email protected]> 
> wrote:
>
>> Thank you so much.  Have a great day!
>>
>> frank-
>>
>>
>> On Wed, Jan 26, 2022 at 6:51 AM bnmng <[email protected]> wrote:
>>
>>> I would start by defining Supplier in your models.py, then Shipment with 
>>> a ForeignKey reference to Supplier
>>>
>>> I'm assuming (forgive me if I'm wrong) that not only can a shipment have 
>>> many species, but a species can be in many shipments, so if that's the 
>>> case, the most obvious way is to go with ManyToMany for that relationship
>>>
>>> https://docs.djangoproject.com/en/4.0/topics/db/examples/many_to_many/
>>>
>>> class Supplier(models.Model):
>>>     (etc..etc..)
>>>
>>> class Shipment(models.Model):
>>>     supplier = models.ForeignKey(
>>>         Supplier,
>>>         on_delete=models. (...etc.. etc...)
>>>
>>> class Species(models.Model):
>>>     shipment = models.ManyToManyField(
>>>         Shipment,
>>>         (etc..)
>>> On Monday, January 24, 2022 at 8:59:10 AM UTC-5 [email protected] 
>>> wrote:
>>>
>>>> I have tried several different ways but I cannot seem to get this 
>>>> right.  What I have is a list
>>>> of suppliers.  Each supplier can have many shipments and each shipment 
>>>> can have many species.  Seems simple enough but apparently I must be more 
>>>> simple.
>>>>
>>>> I need a suggestion of how to relate these table.
>>>>
>>>> a supplier can have many shipment.  A shipment can have many species.  
>>>> Any help would be appreciated.  Thanks.
>>>>
>>> -- 
>>> 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 [email protected].
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/django-users/bc667e81-ce32-4df5-8f88-47dff3d852c8n%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/django-users/bc667e81-ce32-4df5-8f88-47dff3d852c8n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/8f41caba-62f3-45e8-b4d6-e9584f9e8068n%40googlegroups.com.

Reply via email to