python - 在 django admin 中动态设置 readonly_fields

标签 python django python-2.7 django-admin

我可以根据正在查看的 Translation 中特定字段的值更改 TranslationAdmin 类中的 readonly_fields 吗?如果是这样,我该怎么做?

我唯一想到的就是制作一个查看 Translation 并决定是否成为只读小部件的小部件,但这似乎有点过分了。

最佳答案

你可以继承admin中的get_readonly_fields()函数,根据你模型的特定字段值设置只读字段

 class TranslationAdmin(admin.ModelAdmin):
        ...

        def get_readonly_fields(self, request, obj=None):
            if obj.certainfield == something:
                return ('field1', 'field2')
            else:
                return super(TranslationAdmin, self).get_readonly_fields(request, obj)

希望对您有所帮助。

关于python - 在 django admin 中动态设置 readonly_fields,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20962694/

相关文章:

python - 数据帧非常慢

python - 自定义和非托管用户模型/滞后用户表

html - 如何避免 "The number of GET/POST parameters exceeded"错误?

python - 分段仿射变换+扭曲输出看起来很奇怪

python - pygame 移动用户控制的对象直到释放键?

python - Alembic 修订版自动生成错误的配置读取

Python矢量化,如何使用numpy获取每一行的所有索引

python - 导入函数中的 __globals__ 与主模块中函数的 __globals__ 有很大不同

python - Django 管理表单覆盖默认值

python - 正则表达式: Get digit from the ping command output