gpt4 book ai didi

Django 根据字段值禁用 list_editable

转载 作者:行者123 更新时间:2023-12-02 02:13:14 24 4
gpt4 key购买 nike

我有一个模型,其管理员如下:

class MyModelAdmin(admin.ModelAdmin):
list_display = ('invoice_code', 'total_amount', 'paid', )
list_editable = ('paid', )
search_fields = ('invoice_code', )

def __init__(self, *args, **kwargs):
super(MyModelAdmin, self).__init__(*args, **kwargs)
self.list_display_links = (None, )

此处的字段paid 是一个 bool 字段,默认情况下它将被取消选中。我想要实现的是,paid 字段在未选中时应该是可编辑的,而在选中时应该是只读的。我想在 list_editable 中实现这一点。有可能实现这一目标吗?如果可以,该怎么做?提前致谢。

最佳答案

据我所知,您只能在 list_editable 中使用默认字段。这些字段仅支持与这些默认字段关联的标准行为。此外,您可以对表中的记录执行的操作彼此相同。

如果您想逐行实现自定义行为,我相信您必须在您的模型中实现一个函数,该函数返回一个字段,如果选中则可编辑,未选中则不可编辑。这只是返回一个 html 复选框的问题,该复选框根据您提供的类和一些 JS 是否处于事件状态。您也可以将其直接实现到具有禁用属性的输入复选框中。

不过,为了更新复选框和指定的字段,您必须通过 ajax POST 命令(通过 Jquery 或其他方式)将值更新到后端,或者您必须改变表单/ View ,并且必须通过保存进行更新。

希望这对您有所帮助。

关于Django 根据字段值禁用 list_editable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11756616/

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