django admin 中的重复事件操作
duplicate events action in django admin
我的 django admin.py 中有一个重复记录功能,并且在某种程度上它可以工作,但奇怪的是我必须在 modelAdmin 的外部和内部复制这个功能...
def duplicate_event(ModelAdmin, request, queryset):
for object in queryset:
object.id = None
object.save()
duplicate_event.short_description = "Duplicate selected record"
class ProductAdmin(ImageCroppingMixin, admin.ModelAdmin):
model = Product
inlines = [CompositionAssociactionAdmin]
list_display = ("image_img", "code", "name", "price", "discount", "price_offer", "prompt_delivery", "delivery", "promo", "active")
list_editable = ('active',)
fields = (
("name", "code"),
("price", "discount", "price_offer"),
("color", "material"),
("scarpemisura", "cintureLunghezza"),
"size",
("width", "lenght", "depth", "height"),
"volume",
"descrizione", "album",
"image", "slider", "thumb", "thumbdue", "croplibero",
("prompt_delivery", "delivery"),
("slide", "promo"),
"tags", "active", "pub_date"
)
def duplicate_event(ModelAdmin, request, queryset):
for object in queryset:
object.id = None
object.save()
duplicate_event.short_description = "Duplica Record Selezionati"
actions = ['duplicate_event']
在我简单地尝试之前:
def duplicate_event(ModelAdmin, request, queryset):
for object in queryset:
object.id = None
object.save()
duplicate_event.short_description = "Duplicate selected record"
class ProductAdmin(ImageCroppingMixin, admin.ModelAdmin):
model = Product
inlines = [CompositionAssociactionAdmin]
list_display = ("image_img", "code", "name", "price", "discount", "price_offer", "prompt_delivery", "delivery", "promo", "active")
list_editable = ('active',)
fields = (
("name", "code"),
("price", "discount", "price_offer"),
("color", "material"),
("scarpemisura", "cintureLunghezza"),
"size",
("width", "lenght", "depth", "height"),
"volume",
"descrizione", "album",
"image", "slider", "thumb", "thumbdue", "croplibero",
("prompt_delivery", "delivery"),
("slide", "promo"),
"tags", "active", "pub_date"
)
actions = ['duplicate_event']
但我没有任何动作。
所以我尝试了另一种方式:
class ProductAdmin(ImageCroppingMixin, admin.ModelAdmin):
model = Product
inlines = [CompositionAssociactionAdmin]
list_display = ("image_img", "code", "name", "price", "discount", "price_offer", "prompt_delivery", "delivery", "promo", "active")
list_editable = ('active',)
fields = (
("name", "code"),
("price", "discount", "price_offer"),
("color", "material"),
("scarpemisura", "cintureLunghezza"),
"size",
("width", "lenght", "depth", "height"),
"volume",
"descrizione", "album",
"image", "slider", "thumb", "thumbdue", "croplibero",
("prompt_delivery", "delivery"),
("slide", "promo"),
"tags", "active", "pub_date"
)
def duplicate_event(ModelAdmin, request, queryset):
for object in queryset:
object.id = None
object.save()
duplicate_event.short_description = "Duplica Record Selezionati"
actions = ['duplicate_event']
我得到这个错误:
全局名称'duplicate_event'未定义
你的缩进级别不对,应该是:
class ProductAdmin(ImageCroppingMixin, admin.ModelAdmin):
def duplicate_event(ModelAdmin, request, queryset):
for object in queryset:
object.id = None
object.save()
duplicate_event.short_description = "Duplica Record Selezionati"
分配 duplicate_event.short_description
的最后一行应该是 class 主体的一部分,而不是方法主体的一部分。全局函数是不必要的。
我的 django admin.py 中有一个重复记录功能,并且在某种程度上它可以工作,但奇怪的是我必须在 modelAdmin 的外部和内部复制这个功能...
def duplicate_event(ModelAdmin, request, queryset):
for object in queryset:
object.id = None
object.save()
duplicate_event.short_description = "Duplicate selected record"
class ProductAdmin(ImageCroppingMixin, admin.ModelAdmin):
model = Product
inlines = [CompositionAssociactionAdmin]
list_display = ("image_img", "code", "name", "price", "discount", "price_offer", "prompt_delivery", "delivery", "promo", "active")
list_editable = ('active',)
fields = (
("name", "code"),
("price", "discount", "price_offer"),
("color", "material"),
("scarpemisura", "cintureLunghezza"),
"size",
("width", "lenght", "depth", "height"),
"volume",
"descrizione", "album",
"image", "slider", "thumb", "thumbdue", "croplibero",
("prompt_delivery", "delivery"),
("slide", "promo"),
"tags", "active", "pub_date"
)
def duplicate_event(ModelAdmin, request, queryset):
for object in queryset:
object.id = None
object.save()
duplicate_event.short_description = "Duplica Record Selezionati"
actions = ['duplicate_event']
在我简单地尝试之前:
def duplicate_event(ModelAdmin, request, queryset):
for object in queryset:
object.id = None
object.save()
duplicate_event.short_description = "Duplicate selected record"
class ProductAdmin(ImageCroppingMixin, admin.ModelAdmin):
model = Product
inlines = [CompositionAssociactionAdmin]
list_display = ("image_img", "code", "name", "price", "discount", "price_offer", "prompt_delivery", "delivery", "promo", "active")
list_editable = ('active',)
fields = (
("name", "code"),
("price", "discount", "price_offer"),
("color", "material"),
("scarpemisura", "cintureLunghezza"),
"size",
("width", "lenght", "depth", "height"),
"volume",
"descrizione", "album",
"image", "slider", "thumb", "thumbdue", "croplibero",
("prompt_delivery", "delivery"),
("slide", "promo"),
"tags", "active", "pub_date"
)
actions = ['duplicate_event']
但我没有任何动作。
所以我尝试了另一种方式:
class ProductAdmin(ImageCroppingMixin, admin.ModelAdmin):
model = Product
inlines = [CompositionAssociactionAdmin]
list_display = ("image_img", "code", "name", "price", "discount", "price_offer", "prompt_delivery", "delivery", "promo", "active")
list_editable = ('active',)
fields = (
("name", "code"),
("price", "discount", "price_offer"),
("color", "material"),
("scarpemisura", "cintureLunghezza"),
"size",
("width", "lenght", "depth", "height"),
"volume",
"descrizione", "album",
"image", "slider", "thumb", "thumbdue", "croplibero",
("prompt_delivery", "delivery"),
("slide", "promo"),
"tags", "active", "pub_date"
)
def duplicate_event(ModelAdmin, request, queryset):
for object in queryset:
object.id = None
object.save()
duplicate_event.short_description = "Duplica Record Selezionati"
actions = ['duplicate_event']
我得到这个错误: 全局名称'duplicate_event'未定义
你的缩进级别不对,应该是:
class ProductAdmin(ImageCroppingMixin, admin.ModelAdmin):
def duplicate_event(ModelAdmin, request, queryset):
for object in queryset:
object.id = None
object.save()
duplicate_event.short_description = "Duplica Record Selezionati"
分配 duplicate_event.short_description
的最后一行应该是 class 主体的一部分,而不是方法主体的一部分。全局函数是不必要的。