我是一个Python新手。我正在尝试 django 教程并收到此错误。我有两个类:
class Package(models.Model):
name = models.CharField(max_length =300)
version = models.CharField(max_length=300,blank=True)
home_page = models.URLField(blank=True)
summary = models.TextField()
description = models.TextField(blank=True)
keywords = models.TextField(blank=True)
categories = models.ManyToManyField(**Category**,related_name="packages") //error line
class Category(models.Model):
number = models.IntegerField()
topic = models.ForeignKey(Package,related_name='categories')
value = models.CharField(max_lenght=100)
它给了我一个 undefined variable “类别”错误。有人可以帮我找到解决方案吗?
最佳答案
这是因为在解析Package
之前没有定义Category
。
Python 从上到下解析文件。因此,当定义 Packages
的类别 ManyToManyField
关系时,将不会定义 Category
类。
您可以将 Category
类移至 Package
类之上,或者将关系括在 引号 中,以便在类创建后延迟加载,如下所示:
categories = models.ManyToManyField('Category',related_name="packages")
参见ForeignKey引用here .
关于python - Django 中 undefined variable ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4721307/