【发布时间】:2013-07-15 20:16:39
【问题描述】:
我有一个简单的 django 模型:
class Country(models.Model):
name=models.CharField(max_length=500)
iso_alpha3=models.CharField(max_length=3)
我需要在类初始化后添加一个新字段“default_city”。它已经添加到数据库中。如何做到这一点?
提前谢谢你
UPD:这就是我想要的:
class Country(models.Model):
name=models.CharField(max_length=500)
iso_alpha3=models.CharField(max_length=3)
default_city=VerboseForeignKey(City,display_fields=["name"])
class City(models.Model):
name=models.CharField(max_length=200)
country=VerboseForeignKey(Country,display_fields=["name"])
但我不能这样做,因为我收到 NameError: name 'City' is not defined
【问题讨论】:
-
“初始化后”是什么意思?举个例子。
-
您的意思是您手动将列添加到数据库中,现在想从模型中访问该列?
-
您的意思是“default_city”是添加到国家/地区表中的另一列,但它不存在于模型中。现在您想将它添加到模型类中。我说的对吗?
-
叹息。这是一个完全不同的问题,你应该一开始就提到,这里已经回答了很多次:例如见this answer。
-
解决方法一样:在FK中使用字符串,而不是类。
标签: python django django-models