【发布时间】:2017-07-11 11:33:12
【问题描述】:
我创建了一个包含几个字段的简单模型产品,然后转到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 类的actions 属性没有被注释时,我可以复制对象。问题是我无法删除它们。当我检查行并选择delete selected 时,它显示:No action selected。
这是由以下行引起的:
action_form = DuplicateActionForm
因为如果actions = [duplicate,]被评论,我无法正确删除对象,直到我评论action_form = DuplicateActionForm
你知道问题出在哪里吗?
【问题讨论】:
-
如何将
duplicate的函数放入ProductAdmin和def duplicate(self, request, queryset):以及duplicate.allow_tags = True?和actions = [ 'duplicate', ] -
@SancaKembang 不幸的是,这没有帮助。
-
您不能删除重复的产品或其中任何一个?
标签: python django django-admin django-1.10