2
我有两个模型,'产品'和'范围',要连接到许多领域。 '产品'类是在我没有写的应用程序中,所以它不能被修改(我可以编辑它的模式)。我想让'Ranges'a'Product'在管理员中可以编辑,我想用一个FilteredSelectMultiple而不是内嵌管理员来完成。在Django的管理员如何添加一个字段的ManyToManyField的背面
简化 '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.
如果我可以修改我的产品使用现有的通过表,这可以把一个ManyToManyField就可以了工作正常,但据说我不能(或不会,因为它会使升级到外部应用程序真正的痛苦)。
在此先感谢您的帮助! (PS我希望在这里很容易看到为什么我不想使用内联管理员表单 - 这使得UI不必要的复杂)。
非常感谢,我想出了类似的东西,打算把它作为一个答案,但现实生活中的方式。 – DaedalusFall 2013-11-13 18:05:22