我试图在一些模型之间创建几个关系,比如用户和国家。当我试图同步数据库时,我的控制台输出“名称国家未定义”。
代码如下:
class User(models.Model):
name = models.CharField(max_length=50, null=False)
email = models.EmailField(max_length=50, null=False)
password = models.CharField(max_length=10, null=False)
country = models.ForeignKey(Country, null=False) # error here
class Country(models.Model):
name = models.CharField(max_length=50, null=False)
你能帮我解决这个问题吗?
2条答案
按热度按时间lg40wkob1#
将
Country
的类定义移动到文件中User
的上方或
在
User
模型中,将属性country
更新为:有关此问题的文档可在此处找到
mwyxok5s2#
您需要将“国家/地区”的定义移动到“用户”的定义之上。
发生的情况是编译器(编译为.pyc字节码时)正在编译User的Class定义,并看到一个Country类型对象的引用。编译器尚未看到此定义,也不知道它是什么,因此出现未定义的错误。
因此,基本的经验法则是:在调用或引用之前,必须定义所有内容