尝试在Django管理员中列出我的产品时,我收到以下错误消息(见下文)。但是我已经定义了qr_code。
在/ admin / products / product /中配置不当 'ProductAdmin.fieldsets [4] [1] ['fields']'指的是表单中缺少的字段'qr_code'。
models.py
class Product(models.Model):
title = models.CharField(max_length=60)
qr_url = models.URLField(blank=True)
qr_image = models.ImageField(
upload_to="public/uploads/",
height_field="qr_image_height",
width_field="qr_image_width",
null=True,
blank=True,
editable=False
)
qr_image_height = models.PositiveIntegerField(null=True, blank=True, editable=False)
qr_image_width = models.PositiveIntegerField(null=True, blank=True, editable=False)
def __unicode__(self):
return self.title
def qr_code(self):
return '' % self.qr_url
qr_code.allow_tags = True
admin.py
from django.contrib import admin
from models import Product
class ProductAdmin(admin.ModelAdmin):
list_display = ['title']
fieldsets = (
(None, {
'fields': ('title', 'description', 'active')
}),
('QR Code', {
'classes': ('collapse',),
'fields': ('qr_url', 'qr_code')
}),
)
admin.site.register(Product, ProductAdmin)
答案 0 :(得分:2)
qr_code
不能作为表单中模型的方法引用。如果您打算在模型管理员中的表单中使用它,则必须将其定义为模型字段或表单字段。
答案 1 :(得分:1)
在ProductAdmin中将qr_code添加到readonly_fields
。
readonly_fields = ('qr_code')