【发布时间】:2015-01-04 11:20:58
【问题描述】:
我有类似的应用和模型:
在“动物”应用中:
class Animal(models.Model):
name = models.CharField()
class Lion(Animal):
roar_loudness_decibel = models.IntegerField()
class Bear(Animal):
salmons_eaten = models.IntegerField()
# And many more that inherit Animal
在应用程序动物园中:
from Animal.models import Animal
class Zoo(models.Model):
animals = models.ManyToManyField(Animal)
在 Django 管理界面中,我已经注册了所有的应用模型。
每当我创建一个Zoo 并想在同一个表单中添加animals(单击绿色加号按钮并弹出一个窗口)时,我都会得到Animal 的创建表单(不是子类化它的模型) )。
有什么方法可以选择为 ManyToManyField 添加哪个子类模型?
或者有没有更好的方法来解决这个问题(内容类型?覆盖表单?)
如果可以避免,我宁愿不更改模型。
(我知道可以单独添加Bear 或Lion,然后在为animals 选择Zoo 时选择这些对象,但我所要求的似乎更好的可用性)
【问题讨论】:
标签: django python-2.7 django-admin