Django models.py中的NameError

Par*_*ian 1 python django django-models

我有5个班,Customer,Supplier,Order,DesignOutSource.它Order有3个关系,一对一Customer,多对多Design,一对一OutSourse.首先,我只是没有将其添加s one to one relationship with客户(customer=models.ForeignKey(Customer)), now I wanna add the those 2 relationships with设计andOutsourse`.

 design=models.ManyToManyField(Design)
 outSource=models.OneToOneField(OutSource)
Run Code Online (Sandbox Code Playgroud)

当我这样做并运行"makemigrations"命令时,我收到此错误 - >"NameError:name"设计"未定义"没有那两行代码我可以迁移而没有任何问题...无法弄清楚哪里出错了 任何帮助将不胜感激.

models.py

class Order(models.Model):
    o_type=models.CharField(max_length=15, verbose_name='Order type')
    number=models.IntegerField()
    date=models.DateField()
    status=models.CharField(max_length=25)
    delivery_date=models.DateField()
    customer=models.ForeignKey(Customer)
    design=models.ManyToManyField(Design)
    outSource=models.OneToOneField(OutSource)

class Design(models.Model):
    dimension=models.IntegerField()
    image=models.ImageField(upload_to='images/%Y/%m/%d')
    number_of_colors=models.IntegerField()
    sides=models.IntegerField(verbose_name='side(s)')

class OutSource(models.Model):
    date=models.DateField()
    number=models.IntegerField()
    description=models.CharField(max_length=100)
    code=models.IntegerField()
    supplier=models.ForeignKey(Supplier)
Run Code Online (Sandbox Code Playgroud)

Arp*_*yal 5

Design在实际定义ManyToManyField关系后,您正在声明该类.它找不到具有名称的类,Design因此找不到NameError.

在课Design前宣布课程Order,事情应该适合你.