0

尝试在 Django 管理员中列出我的产品时,我收到以下错误消息(见下文)。但是,如您所见,我已经定义了 qr_code。

在 /admin/products/product/ 'ProductAdmin.fieldsets[4][1]['fields']' 中配置不当是指表单中缺少的字段 'qr_code'。

模型.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

管理员.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)
4

2 回答 2

2

qr_code不能在表单中作为模型上的方法引用。如果您打算在模型管理员的表单中使用它,则必须将其定义为模型字段或表单字段。

于 2013-02-21T14:28:51.777 回答
1

readonly_fields在 ProductAdmin 中添加 qr_code 。

readonly_fields = ('qr_code')
于 2013-12-20T10:25:22.743 回答