0

Django admin で製品を一覧表示しようとすると、次のエラー メッセージ (以下を参照) が表示されます。ただし、ご覧のとおり 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)
4

2 に答える 2

2

qr_codeフォーム内のモデルのメソッドとして参照することはできません。モデル管理者内のフォームで使用する場合は、モデルフィールドまたはフォームフィールドとして定義する必要があります。

于 2013-02-21T14:28:51.777 に答える