gpt4 book ai didi

python - Django 管理员。在日期后禁用 `list_editable` 字段进行编辑?

转载 作者:太空宇宙 更新时间:2023-11-03 15:47:20 25 4
gpt4 key购买 nike

Django 2.0.3, Python 3.6.1

我有标准的 Django 管理面板。对于我的模型之一,我创建了带有一些字段的 list_editable(屏幕截图上的 providerprovider_price)。问题是:如何在某个日期后禁用那些 list_editable 字段进行编辑?

例如,如果现在是 2018 年 3 月 11 日 及更早的时间,则字段 providerprovider_price 将被禁用并且不会在列表中进行编辑查看(仅在单个记录更改 View 中)。

enter image description here

最佳答案

您可以使用 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

关于python - Django 管理员。在日期后禁用 `list_editable` 字段进行编辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49237180/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com