Django e-commerce part35 Product Editing with Django Admin Inlines
Admin Inlineで、Productを編集する
公式ドキュメントはこちら
adminに新しいclassを設定する。
products/admin.py
class ProductAdmin(admin.ModelAdmin): list_display = ['__str__','price'] class Meta: model = Product admin.site.register(Product, ProductAdmin)
ポイントは、admin.site.registerに、ProductAdminも渡すのを忘れないという点。
admin.pyにtabularInlineを継承したclassを作成する
admin classにimportするときは、inlines に代入するだけ。
class VariationInline(admin.TabularInline): model = Variation class ProductAdmin(admin.ModelAdmin): list_display = ['__str__','price'] inlines = [ VariationInline, ] class Meta: model = Product
TabularInlineを少し修正してみる。
class VariationInline(admin.TabularInline): model = Variation extra = 0
↑extraを0にする。
ProductImageInlineを作成してみる。
class ProductImageInline(admin.TabularInline): model = ProductImage extra = 0 class VariationInline(admin.TabularInline): model = Variation extra = 0 class ProductAdmin(admin.ModelAdmin): list_display = ['__str__','price'] inlines = [ ProductImageInline, VariationInline, ] class Meta: model = Product