0

モデル:

class Detail(models.Model):
    def __unicode__(self):
            return self.title
    title = models.CharField(max_length=32)

class Cars(models.Model):
    def __unicode__(self):
            return self.name
    name = models.CharField(max_length=32, unique=True)
    details = models.ManyToManyField(Detail)

したがって、すべての車には多くの詳細があります-車輪、エンジンなど。これを行う方法: Django 管理者にある車メニューに、そのメニューに多くの詳細行があります (チュートリアルのように)。管理者では、次を使用します。

class DetailInline(admin.TabularInline):
    model = Detail
    extra = 6
class CarsAdmin(admin.ModelAdmin):
    inlines = [DetailInline]

しかし、エラーがあります: Detail has no ForeignKey to Cars。修正方法は?

4

1 に答える 1

0

Django では、逆インラインをネイティブに追加することはできません。つまり、詳細ページに、その特定の詳細への ForeignKey を含むすべての車のインライン管理を含めることができます。ただし、その逆はネイティブに可能ではありません。

ただし、管理テンプレートを少しオーバーライドする必要がある回避策があります。これに関する以前の SO の質問があります: Django Admin のインラインのようなソリューションで、Admin には他のモデルへの ForeignKey が含まれています

于 2012-10-30T16:17:38.483 に答える