【问题标题】:Django Admin TabularInline Complaining About Missing FieldDjango Admin TabularInline 抱怨缺少字段
【发布时间】:2011-10-07 20:54:32
【问题描述】:

我有以下模型和 TabularInline 子类:

class SomeModel(models.Model):
    name = models.CharField(max_length=50)

class SomeModelInline(admin.TabularInline):
    model = SomeModel

class SomeOtherModelAdmin(admin.ModelAdmin):
    inlines = [SomeModelInline]

没有明确指定 TabularInline 的字段,Django 的管理员会显示字段“id”和“name”。但是,当我尝试这样做时:

class SomeModelInline(admin.TabularInline):
    model = SomeModel
    fields  ['id','name']

Django 抛出 ImproperlyConfigured 异常:

'SomeModelInline.fields' refers to field 'id' that is missing from the form.

这里发生了什么?为什么我不能明确指定 id,即使 Django 显然可以访问它?

【问题讨论】:

    标签: python django django-admin


    【解决方案1】:

    ID 是不可编辑的,默认情况下内联显示可编辑字段,但您也可以显示不可编辑字段

    来自django docs

    字段可以包含在 ModelAdmin.readonly_fields 中定义的值 显示为只读。

    所以首先将'id'添加到readonly_fields,然后将其添加到字段中

    【讨论】:

    • 这不是我真正要求的,但它确实让我能够解决这个问题。
    猜你喜欢
    • 1970-01-01
    • 2015-10-31
    • 2018-06-25
    • 1970-01-01
    • 1970-01-01
    • 2021-11-30
    • 2015-03-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多