Vic*_*tak 6 python django django-admin
Django 2.0.3,Python 3.6.1
我有标准的 Django 管理面板。对于我的模型之一,我创建list_editable了一些字段(provider和provider_price屏幕截图)。问题是:如何list_editable在某个日期后禁用这些字段进行编辑?
例如,如果现在是March 11, 2018和更旧,字段provider和provider_price被禁用并且不会在列表视图中编辑(仅在单个记录更改视图中)。
您可以使用ModelAdmin.get_changelist_form. 像这样的东西:
class TouristVisaInvitationListForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
if should_be_disabled(self.instance.date): # whatever condition you want
self.fields['provider'].disabled = True
self.fields['provider_price'].disabled = True
class TouristVisaInvitationAdmin(admin.ModelAdmin):
.
.
.
def get_changelist_form(self, request, **kwargs):
return TouristVisaInvitationListForm
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1013 次 |
| 最近记录: |