我的models.py中有一个图像字段......
qr_image = models.ImageField(
upload_to="public/uploads/",
height_field="qr_image_height",
width_field="qr_image_width",
null=True,
blank=True,
editable=False
)
当它是editable=False
时,我在尝试显示时遇到了一个令人讨厌的错误。我不希望该字段可编辑,但我希望图像显示在管理员“编辑”页面,即字段集
我是Django的新手,有人可以告诉我这是否可行并指出我在正确的方向?
谢谢。答案 0 :(得分:11)
如果你有这样的ModelAdmin:
class MyModelAdmin(admin.ModelAdmin):
fieldsets = [
('Fieldset', {'fields': ['model_field', 'another_field', 'readonly_field']}),
]
其中readonly_field
有editable=False
或者如果它是带有auto_now_add=True
的DateTimeField,那么访问模型的管理页面将导致找不到字段错误。
要在字段集中包含只读字段,请包含readonly_fields
,如下所示:
class MyModelAdmin(admin.ModelAdmin):
fieldsets = [
('Fieldset', {'fields': ['model_field', 'another_field', 'readonly_field']}),
]
readonly_fields = ('readonly_field',)
答案 1 :(得分:3)
实现此目的的一种简单方法是在ModelAdmin中将字段设为只读:https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.readonly_fields