这是models.py中的代码
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')
class Category(models.Model):
topic=models.ForeignKey(Package, related_name="categories")
当我尝试同步数据库时,它说“未定义 NameError 类别”我尝试先放置类类别,然后再放置包,这次它显示“未定义 NameError 名称包”。
请帮我解决这个问题。
编辑:感谢您的帮助,从我对数据库中的知识知之甚少,这里的教程似乎是错误的http://toys.jacobian.org/presentations/2007/pycon/tutorials/beginning/ 他已经定义了字段类别在 Packages 中为多对多,Category topic 中的字段为 Package 的外键,但外键是多对一的关系,因此实现存在缺陷。我认为 django 试图以它的方式告诉它“字段'主题'的访问器与 m2m 字段'Package.categories'发生冲突。” 字段“主题”的反向查询名称与 m2m 字段冲突“”正确吗?