如何确保clean()
在执行时调用该方法queryset.update('somefield'=True)
。我还需要确保我能捕捉到任何被方法ValidationError
抛出的东西clean()
。
我对 django ORM 的经验很少。任何帮助将非常感激。
如何确保clean()
在执行时调用该方法queryset.update('somefield'=True)
。我还需要确保我能捕捉到任何被方法ValidationError
抛出的东西clean()
。
我对 django ORM 的经验很少。任何帮助将非常感激。
clean
使用查询集的功能时不调用模型的方法update
。查看更新文档。
您将不得不编写自己的 admin_action 以确保调用该方法。文档中有示例。
我想你想要像 -
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)