首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >django-orm -确保在通过admin_actions更新查询集时调用clean()

django-orm -确保在通过admin_actions更新查询集时调用clean()
EN

Stack Overflow用户
提问于 2013-02-27 01:15:14
回答 1查看 569关注 0票数 1

如何确保在执行queryset.update('somefield'=True)时调用了clean()方法。我还需要确保捕捉到clean()方法抛出的任何ValidationError

我几乎没有使用django ORM的经验。任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-27 01:55:36

看一看update documentation

您必须编写自己的admin_action来确保该方法被调用。在docs中有一些例子。

我觉得你想要的是-

代码语言:javascript
复制
from django.contrib import admin
from yourapp.models import YourModel

def update_and_clean(modeladmin, request, queryset):
    for obj in queryset:
         obj(some_field=True)
         obj.clean()
         obj.save()

class YourModelAdmin(admin.ModelAdmin):
    actions = [update_and_clean]

admin.site.register(YourModel, YourModelAdmin)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15095215

复制
相关文章

相似问题

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