【发布时间】:2013-02-05 18:08:44
【问题描述】:
我有两个模型,“产品”和“范围”,由多对多字段链接。 “产品”类在我没有编写的应用程序中,因此无法修改(我可以为它编辑模型管理员)。我想让“范围”和“产品”在管理员中可编辑,我想用 FilteredSelectMultiple 来完成,而不是内联管理员。
简化的“models.py”:
class Product(models.Model):
name = models.CharField(max_length=64)
#etc...
#I can't modify this class
class Range(models.Model):
name = models.CharField(max_length=32)
products = models.ManyToManyField(Product, related_name='ranges')
和 admin.py:
class ProductAdmin(admin.ModelAdmin):
# What do I put here to get a multi-select box for ranges?
# Preferrably with one of those 'add' buttons to popup a window
# to add ranges.
如果我可以修改 Products,我可以使用现有的直通表在其上放置 ManyToManyField,这可以正常工作,但如前所述,我不能(或不会,因为它会使对外部应用程序的升级成为现实痛)。
提前感谢您的帮助! (PS 我希望在这里很容易看到为什么我不想使用内联管理表单 - 它使 UI 变得不必要地复杂)。
【问题讨论】:
标签: django django-admin