本文介绍了根据另一个字段的值,在Django Admin中只读一个字段的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何使Django Admin中的字段根据另一个字段的值只读或不可编辑?
我已经使用了 readonly_fields =('amount',)但这不会修复我的问题,因为我需要根据另一个字段进行管理。

How to make a field in Django Admin readonly or non-editable based on the value from another field?I have used readonly_fields=('amount',) but this wont fix my problem , as I need to manage it based on another field .

推荐答案

您可以覆盖管理员的 get_readonly_fields 方法:

You can override the admin's get_readonly_fields method:

class MyAdmin(admin.ModelAdmin):

    def get_readonly_fields(self, request, obj=None):
        if obj and obj.another_field == 'cant_change_amount':
            return self.readonly_fields + ('amount',)
        return self.readonly_fields

这篇关于根据另一个字段的值,在Django Admin中只读一个字段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-01 23:41