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'>

何が間違っているのかわかりません。助けてください。

アップデート:

これはおそらく便利です:

最初はonLicenseがありませんでした。しかし、私はそれを追加しました。そしてその後、私はインをしましたForeign KeyCarInlineadmin.py

python manage.py syncdbサーバーの再起動も行いました。

4

1 に答える 1

1

syncdb は変更を検出しません(「 Syncdb は既存のテーブルを変更しない」セクションをお読みください)。

- データベースを削除して再作成する (あまりお勧めしません) または - django-southというサードパーティ製アプリをインストールして、データベースの列を変更し、移行を管理する必要があります。

于 2013-06-22T23:35:29.577 に答える