私は Django models.py に以下を持っています (モデルは必要なフィールドだけに取り除かれます)
class Product(BaseProduct):
price = models.IntegerField()
productfoto = models.ManyToManyField("ProductFoto", related_name="%(app_label)s_%(class)s_related")
class Meta:
abstract = True
ordering = ['name']
# Inherits Product class
class ConsumerProduct(Product):
categorie= models.ForeignKey(Categorie)
class Meta:
verbose_name_plural = "ConsumerProducten"
class ProductFoto(models.Model):
myimage= FileBrowseField("Image", max_length=200, directory='producten')
そしてこれはadmins.pyにあります:
class ProductFotoInline(admin.TabularInline):
extra = 1
model = Product.productfoto.through
class ConsumerProductAdmin(admin.ModelAdmin):
prepopulated_fields = {"slug": ("name",)}
inlines= [ProductFotoInline]
admin.site.register(ConsumerProduct, ConsumerProductAdmin)
次のことに注意してください。
- 製品クラスは抽象的です
- ConsumerProduct は Product を継承します
これは機能するはずですが、新しい ConsumerProduct を追加しようとすると、次の ImproperlyConfigured エラーが発生します。
'model' is a required attribute of 'ConsumerProductAdmin.inlines[0]'.
どんな助けでも大歓迎です