AP2*_*257 5 django django-admin
我正在使用Django管理站点在记录上有一些只读字段:
class BookAdmin(admin.ModelAdmin):
fieldsets = [
(None, {'fields': ['title', 'library_id', 'is_missing', \
'transactions_all_time']}),
]
readonly_fields = ['transactions_all_time',]
list_display = ('library_id', 'author', 'title')
Run Code Online (Sandbox Code Playgroud)
编辑记录时这很有用 - transactions_all_time字段是只读的,就像我想要的那样.
但是,添加新记录时,它的行为有点奇怪.我在页面底部看到一个只读部分,我无法编辑,此时无关紧要.
如果在添加新记录时根本不存在该字段会好得多.
在添加新记录时是否有任何Django选项不显示只读字段?我知道我可以破解CSS add_form.html来隐藏它,但是有更好的方法吗?
谢谢.
小智 13
我有类似的问题.就这样解决了
class MyModelAdmin(admin.ModelAdmin):
readonly_fields = ('field_one',)
def get_readonly_fields(self, request, obj=None):
if obj: # Editing
return self.readonly_fields
return ()
Run Code Online (Sandbox Code Playgroud)
小智 0
editable另一种选择是在原始模型中设置arg。
class Book(models.Model):
transactions_all_time = models.BooleanField(editable=False)
Run Code Online (Sandbox Code Playgroud)
您的 ModelAdmin 将不会在版本中显示该字段,该字段将被排除。
| 归档时间: |
|
| 查看次数: |
3309 次 |
| 最近记录: |