Tom*_*ock 3 django django-models django-forms django-admin
我知道在管理区域中显示外键字段很容易,但是如果使用 through ,我如何显示多对多关系的字段?
模型.py:
class Pizza(models.Model):
toppings = models.ManyToManyField(Topping, through='PizzaTopping')
class Topping(models.Model):
topping = models.CharField(max_length=255)
class PizzaTopping(models.Model):
pizza = models.ForeignKey(Pizza)
topping = models.ForeignKey(Topping)
Run Code Online (Sandbox Code Playgroud)
管理.py:
class PizzaAdmin(admin.ModelAdmin):
fieldsets = (
(None, {
'fields': ('toppings')
}),
})
)
Run Code Online (Sandbox Code Playgroud)
这会产生以下错误:
<class 'pizzas.admin.PizzaAdmin'>: (admin.E013) The value of 'fieldsets[0][1]["fields"]' cannot include the many-to-many field 'toppings' because that field manually specifies a relationship model.
Run Code Online (Sandbox Code Playgroud)
我想显示一个框或列表框,它允许我选择一个浇头。
这可能吗?
谢谢
您可以将浇头显示为内联。
from django.contrib import admin
class ToppingInline(admin.TabularInline):
model = PizzaTopping
class Pizza(admin.ModelAdmin):
inlines = [
ToppingInline,
]
exclude = ('toppings',)
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅有关使用多对多模型的管理文档。
| 归档时间: |
|
| 查看次数: |
1067 次 |
| 最近记录: |