将客户端计算字段添加到django admin

dan*_*ron 1 django django-admin

说我有一个这样的模型:

class Spam(models.Model):
    a = models.IntegerField()
    b = models.IntegerField()
Run Code Online (Sandbox Code Playgroud)

在管理员创建/编辑表单上.我想添加一个不可编辑的字段"c",它将包含在a和b中输入的任何内容的总和.

关于如何实现这一点,我有很多想法,但没有一个听起来很好.

谁能指出我正确的方向?

Dan*_*man 16

你可以做到 ModelAdmin.readonly_fields

class SpamAdmin(admin.ModelAdmin):
    readonly_fields = ('get_c',)
    fields = ('a', 'b', 'get_c')

    def get_c(self, obj):
        return obj.a + obj.b
Run Code Online (Sandbox Code Playgroud)

  • 这不是客户端计算的 (3认同)