1
私はdjango-adminに問題があります。私は3つのオブジェクトがあります。Djangoは親のフィールドを子の中に編集します
- 説明
- 仕事
- プロジェクト
をそして私は仕事やプロジェクト内に直接説明を編集したいです。ここで
は私model.py
次のとおりです。だから、
class Description(models.Model):
short_desc = models.TextField()
long_desc = models.TextField()
class Job(models.Model):
location = models.TextField()
desc = models.ForeignKey(Description)
class Project(models.Model):
name = models.TextField()
desc = models.ForeignKey(Description)
、概念的には、Description
はJob
とProject
の親です。
そして、私のadmin.py
:
class DescriptionInLine(admin.StackedInline):
model = Description
@admin.register(Project)
class ProjectAdmin(admin.ModelAdmin):
model = Project
inlines = [DescriptionInLine]
@admin.register(Job)
class JobAdmin(admin.ModelAdmin):
model = Job
inlines = [DescriptionInLine]
私は、Djangoのサーバを実行するたびに、私は次のエラーを取得する:
<class 'admin.DescriptionInLine'>: (admin.E202) 'Description' has no ForeignKey to 'Job'.
私はエラーを取得する理由を私は理解して:Djangoは関係がであることを期待反対に。
また、ForeignKey
をOneToOneField
に置き換えようとしましたが、成功することはありませんでした。
これを解決する方法はありますか?
作品:
私はあなたのユースケースのために、あなたがより良いmodel inheritanceを使用したいと思います。モデルを変更する人に注意してください: 'makemigrations'と' migrate'を忘れないでください。 :) – maddersky