【问题标题】:Django present related_name objects in admin modelDjango 在管理模型中显示related_name 对象
【发布时间】:2016-06-28 07:49:13
【问题描述】:

我有以下型号:

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_arelated_name 对象。

我该怎么做?

【问题讨论】:

    标签: django django-models django-admin


    【解决方案1】:

    要在您的管理员中使用相关模型,请使用 InlineAdmin

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

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

    【讨论】:

    • 正是我需要的,完美运行!谢谢你:)
    猜你喜欢
    • 2016-02-20
    • 2021-09-14
    • 2014-09-08
    • 2016-09-16
    • 1970-01-01
    • 2015-06-11
    • 2011-11-22
    • 2017-04-25
    • 2016-11-19
    相关资源
    最近更新 更多