如何确保在执行queryset.update('somefield'=True)时调用了clean()方法。我还需要确保捕捉到clean()方法抛出的任何ValidationError。
我几乎没有使用django ORM的经验。任何帮助都将不胜感激。
发布于 2013-02-27 01:55:36
您必须编写自己的admin_action来确保该方法被调用。在docs中有一些例子。
我觉得你想要的是-
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)https://stackoverflow.com/questions/15095215
复制相似问题