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/CAJbiy1DaeMMsRxeUoLLTPXP_R%2BDC%3Dk-9zpDAUuSqbDpz%3DVWuVQ%40mail.gmail.com.

Reply via email to