首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Django管理中添加自定义布尔操作按钮?

如何在Django管理中添加自定义布尔操作按钮?
EN

Stack Overflow用户
提问于 2019-01-24 09:28:06
回答 1查看 1.1K关注 0票数 0

我有一个模型,是向管理员注册的。

代码语言:javascript
运行
复制
models.py
class Post(models.Model):
    title = models.CharField(max_length=100)
    tag = models.CharField(max_length=3)
    is_enabled = models.BooleanField(default=False)

现在,我希望管理员只能通过与模型的is_enabled字段交互来启用或禁用Post。

代码语言:javascript
运行
复制
admin.py
class PostAdmin(admin.ModelAdmin):
    list_display = ['id', 'title', 'tag', 'is_enabled']
    list_display_links = None
    readonly_fields = ['id', 'title', 'tag']

    actions = ['enable_selected', 'disable_selected']

    def enable_selected(self,requst,queryset):
        queryset.update(is_enabled=True)

    def disable_selected(self,requst,queryset):
        queryset.update(is_enabled=False)

    enable_selected.short_description = "Enable the selected Post"
    disable_selected.short_description = "Disable the selected Post"

我已经成功地在下拉列表中添加了这些操作,但是我需要在列表中以按钮的形式添加这些操作,还需要知道如何在按下按钮更新is_enabled字段时调用函数。

EN

回答 1

Stack Overflow用户

发布于 2019-01-24 09:35:48

您可以使用list_editable

代码语言:javascript
运行
复制
list_editable = ['is_enabled']

记住添加is_enabled in list_display (ModelAdmin)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54343255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档