我有以下型号:
class Car(models.Model):
...
some attributes
...
class Person(models.Model):
car = models.ForeignKey(Car)
class License(models.Model):
car = models.ForeignKey(Car)
目前这些模型有点抽象。我打算稍后详细说明。
在我的admin.py
我有以下代码:
class PersonInline(admin.StackedInline):
model = Person
class LicenseInline(admin.StackedInline):
model = License
class CarAdmin(admin.ModelAdmin):
inlines = [
PersonInline,
LicenseInline
]
admin.site.register(Car, CarAdmin)
只有Person
内嵌才有效。当我添加License
时,它会抛出这个奇怪的错误:
<class 'ui.models.License'> has no ForeignKey to <class 'ui.models.Car'>
我不知道我做错了什么。请帮忙。
更新:
这可能很有用:
初始License
Foreign Key
上没有Car
。但后来我加了。然后我才在Inline
admin.py
我还完成了python manage.py syncdb
和服务器重启。
答案 0 :(得分:1)
syncdb does not detect changes(请阅读 Syncdb不会改变现有表格一节)。
你要么需要 - 删除数据库并重新创建(不是非常推荐)或 - 安装名为django-south的第三方应用程序以修改数据库列并管理迁移