0

我有以下型号:

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 KeyCar。但后来我添加了它。只有在那之后我才完成Inlineadmin.py

我也已经完成python manage.py syncdb并重新启动了服务器。

4

1 回答 1

1

syncdb 不检测更改(阅读Syncdb 不会更改现有表部分)。

您要么需要 - 删除数据库并重新创建(不太推荐),要么 - 安装名为django-south的第 3 方应用程序来修改数据库列并管理迁移

于 2013-06-22T23:35:29.577 回答