Django在admin模型中显示related_name对象

时间:2016-06-28 07:49:14

标签: django django-models django-admin

我有以下型号:

class A(models.Model):
    name = models.CharField(max_length=100)
    c = models.ForeignKey(C, related_name='letters_c', null=True, blank=True)
    ...


class B(models.Model):
    id= models.CharField(max_length=200, blank=False, default="")
    a = models.ForeignKey(A, related_name='letters_a', default=0)
    ...

使用以下管理员:

class AAdmin(admin.ModelAdmin):
    fields = ['name', 'c', 'letters_a']
    list_display = ['name']
    ordering = ['name']

我收到了错误

'letters_a' not found.

我想我不完全理解外键与Django模型中它们的表示之间的逻辑。

我希望能够在Django管理员中添加/编辑并查看类A letters_a related_name对象。

我该怎么做?

1 个答案:

答案 0 :(得分:6)

要在管理员中使用相关模型Xcode

在您的情况下,为B类添加内联管理定义:

class BInlineAdmin(admin.TabularInline):
    model = B

class AAdmin(admin.ModelAdmin):
     fields = ['name', 'c']
     list_display = ['name']
     ordering = ['name']
     inlines = [BInlineAdmin]