Python django modeladmin、只读_字段和布尔字段

Python django modeladmin、只读_字段和布尔字段,python,django,django-grappelli,Python,Django,Django Grappelli,我有一个简单的模型,其中有一个布尔字段,以及相关的管理视图: # in models.py class MyModel(models.Model): ... my_field = models.BooleanField(...) # in admin.py class MyModelAdmin(admin.ModelAdmin): readonly_fields ("my_field", ...) 我的问题是,现在布尔字段总是空的,与字段本身的实际值无关 我没有找到

我有一个简单的模型,其中有一个布尔字段,以及相关的管理视图:

# in models.py
class MyModel(models.Model):
    ...
    my_field = models.BooleanField(...)

# in admin.py
class MyModelAdmin(admin.ModelAdmin):

    readonly_fields ("my_field", ...)
我的问题是,现在布尔字段总是空的,与字段本身的实际值无关

我没有找到任何解决这个问题的办法,这只发生在我身上吗

我不知道它是否相关,但我使用的是Grapelli==2.4.5

谢谢

好的

经过一番探索,我找到了一个解决方案(很完美,但这是一个很好的起点)。我只是在我的
ModelAdmin
具体化中覆盖了
get\u表单(…)
模型:

def get_form(self, *args, **kwargs):

    form = super(SupplierAdmin, self).get_form(*args, **kwargs)

    for field_name in self.fake_readonly_fields:
        form.base_fields[field_name].widget.attrs["disabled"] = "disabled"


    return form
我将我的只读字段列表重命名为
fake\u readonly\u fields
,以免弄乱Django
readonly\u fields
。这适用于文本框、复选框和选择(我猜单选按钮也适用,但我没有验证…)。现在我正在寻找上传文件输入的解决方案


顺便说一句,我不知道这个解决方案是否会导致“安全”问题(例如,发送到服务器的一些精心编制的消息可以克服我的html禁用字段,并传递新数据以覆盖旧值…),但这是一个不同的问题(仍然相关)主题

您使用的是django开发服务器还是实际的web服务器,是否收集了静态文件?我在开发服务器上,并且收集了静态文件…该字段在记录列表或编辑页面中是否显示为空?那里到底展示了什么?它是否显示字段名?您可能没有定义MyModelAdmin上应该显示哪些字段。阅读此内容,字段名显示,但其值显示为空(请看此处:所有空“框”应为数据库中的真/假值…)现在我也找到了这个问题,我想知道是否有解决方案。。。没有想法了。。。