【问题标题】:Can I display the SerializerMethodField in Django admin我可以在 Django admin 中显示 SerializerMethodField
【发布时间】:2020-03-18 11:15:00
【问题描述】:

我正在我的序列化程序文件中创建一个自定义字段

new_field= serializers.SerializerMethodField(read_only=True)

def get_new_field(self,obj):
    # do something

有没有办法可以在 django 管理面板中显示此字段?

【问题讨论】:

    标签: django django-rest-framework django-admin django-serializer


    【解决方案1】:

    您可以像这样自定义您的 django 管理面板:

    class MyModelAdmin(models.ModelAdmin):
    
        list_display = ('field1', 'field2', 'new_field')
        list_editable = ('field1')
    
    
        def new_field(self, obj):
            return obj.new_field.name
    
    admin.site.register(MyModel,MyModelAdmin)
    

    【讨论】:

    • 有什么方法可以从管理面板编辑字段数据?我知道我已经指定了 read_only = True 但是在更改之后我可以编辑它吗?还有 .name 指定了什么?
    • .name 只是一个例子。在这个特定的例子中,当前 obj 中有一个名为 new_field 的外键字段,并且该表有一个字段名称 .. 它被访问
    • 制作可编辑字段,可以使用list_editable = ('new_field')
    猜你喜欢
    • 2012-08-26
    • 2020-12-09
    • 1970-01-01
    • 1970-01-01
    • 2018-06-17
    • 2016-04-06
    • 2021-04-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多