Django 管理员禁用外键下拉菜单,但保留其旁边的添加按钮

sai*_*yan 6 django django-admin python-3.x

我有一个像这样的下拉菜单:

在此输入图像描述

我希望禁用特定的外键,但希望“加号”按钮完好无损。因此,在管理员中,用户只能添加值,而不能编辑或从列表中选择。

我想要类似add_only

Sto*_*son 0

您可以使用 Django 的管理选项来允许您查看/编辑/删除哪些模型字段:ModelAdmin 选项

我相信您可以使用 list_editable 字段:

class MyModelAdmin(OrderedModelAdmin):
    list_display = ('foo_editable', 'bar_editable', 'publisher')
    list_editable = ['foo_editable',  'bar_editable',]

    def get_readonly_fields(self, request, obj=None):
        if obj:
            # obj is not None, so this is an edit
            return ['publisher',] # Return a list or tuple of readonly fields' names
        else: 
            # This is an addition
            return []

admin.site.register(MyModel, MyModelAdmin)
Run Code Online (Sandbox Code Playgroud)