Python Django说我的模型没有定义
因此,我正在使用Django开发一个项目,并试图在一些模型(如用户和国家)之间创建一些关系。当我尝试同步数据库时,我的控制台输出“未定义名称国家”。查看代码:Python Django说我的模型没有定义,python,django,model-view-controller,web,Python,Django,Model View Controller,Web,因此,我正在使用Django开发一个项目,并试图在一些模型(如用户和国家)之间创建一些关系。当我尝试同步数据库时,我的控制台输出“未定义名称国家”。查看代码: 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=
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
rol = models.ForeignKey(Rol,null=False)
job = models.ManyToManyField(Job) #UserxJob
skill = models.ManyToManyField(Skill) #UserxSkill
plan = models.ManyToManyField(Plan) #UserxPlan
image = models.ForeignKey(Image)
description = models.TextField(max_length=300)
website = models.URLField(max_length=100,null=True)
def __unicode__(self):
return self.name
class Country(models.Model):
name = models.CharField(max_length=50,null=False)
def __unicode__(self):
return self.name
你能帮我解决这个问题吗?或者将
国家
的类定义移到文件中的用户
上
或
在User
模型中,将属性country
更新为:
country = models.ForeignKey('Country',null=False)
关于这方面的文档可以是您需要将国家/地区的定义移到用户定义之上 发生的是编译器(编译为.pyc字节码时)正在编译用户的类定义,并看到对国家类型对象的引用。编译器还没有看到这个定义,也不知道它是什么,因此没有定义它的错误
因此,基本的经验法则->在调用或引用之前,必须定义所有内容无需担心。我会赞同卡提克使用“国家”的替代方法。这样你就不必移动东西了。我只是想解释一下编译是如何工作的:)