因此,我正在开发一个使用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=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
你能帮我弄一下这个吗?
将
Country
的类定义移到文件的User
上方或者
在
User
模型中,将属性country
更新为:关于这个的文档可以是found here
您需要将国家的定义移到用户定义之上。
正在发生的是编译器(在编译到.pyc字节码时)正在为用户编译类定义,并看到对Country类型对象的引用。编译器还没有看到这个定义,也不知道它是什么,因此没有定义它的错误。
因此,在调用或引用之前,必须定义基本的经验法则->;所有内容
相关问题 更多 >
编程相关推荐