"No action selected" 删除对象时说 Django-admin
"No action selected" says Django-admin when deleting objects
我创建了一个包含几个字段的简单模型产品,然后转到 admin.py
。我注册了 Product
,创建了一些字段 list_editable
并创建了一个新操作 duplicate
。
def duplicate(modeladmin, request, queryset):
number = int(request.POST['number'])
product = queryset.first()
for i in xrange(number):
product.id = None
product.save()
class DuplicateActionForm(ActionForm):
number = forms.IntegerField()
class ProductAdmin(admin.ModelAdmin):
list_display = ('id','name','color','memory','ga_url','gs_url',)
list_editable = ('color','memory','name','ga_url','gs_url',)
action_form = DuplicateActionForm
# actions = [duplicate,]
admin.site.register(Product,ProductAdmin)
当ProductAdmin
class的actions
属性没有注释时,我可以复制对象。问题是我无法删除它们。当我检查行和 select delete selected
时,它说:No action selected
。
这是由以下行引起的:
action_form = DuplicateActionForm
因为如果 actions = [duplicate,]
被评论,我无法正确删除对象,直到我评论 action_form = DuplicateActionForm
你知道问题出在哪里吗?
您应该在自定义表单域中添加 required=False
。之后一切都会按预期工作。
class DuplicateActionForm(ActionForm):
number = forms.IntegerField(required=False)
我创建了一个包含几个字段的简单模型产品,然后转到 admin.py
。我注册了 Product
,创建了一些字段 list_editable
并创建了一个新操作 duplicate
。
def duplicate(modeladmin, request, queryset):
number = int(request.POST['number'])
product = queryset.first()
for i in xrange(number):
product.id = None
product.save()
class DuplicateActionForm(ActionForm):
number = forms.IntegerField()
class ProductAdmin(admin.ModelAdmin):
list_display = ('id','name','color','memory','ga_url','gs_url',)
list_editable = ('color','memory','name','ga_url','gs_url',)
action_form = DuplicateActionForm
# actions = [duplicate,]
admin.site.register(Product,ProductAdmin)
当ProductAdmin
class的actions
属性没有注释时,我可以复制对象。问题是我无法删除它们。当我检查行和 select delete selected
时,它说:No action selected
。
这是由以下行引起的:
action_form = DuplicateActionForm
因为如果 actions = [duplicate,]
被评论,我无法正确删除对象,直到我评论 action_form = DuplicateActionForm
你知道问题出在哪里吗?
您应该在自定义表单域中添加 required=False
。之后一切都会按预期工作。
class DuplicateActionForm(ActionForm):
number = forms.IntegerField(required=False)