1

所以我有一个使用多表继承的模型层次结构,我想知道是否有某种 ModelForm 或类似的方法来创建像普通模型表单这样的对象,并让用户选择他们想要在形成一个选择字段。

层次结构如下:

class Base(models.Model):
    field1 = models.CharField(max_length=10)
    field2 = models.CharField(max_length=20)
class A(Base):
    pass
class B(Base):
    pass
class C(Base):
    pass

我不能使用 Meta 抽象模型,因为我有一个类需要 Base 的外键,这就是我使用多表继承的原因,并且将来子类可能有额外的字段。你对我如何去做这件事有什么建议吗?

目前我这样做的方式是使用普通表单并在该表单中拥有所有公共字段以及一个选择字段,他们可以选择他们想要使用的模型类型,然后我创建了一个保存方法它从选择字段解释类型并创建该类型的对象。我不禁觉得有更好的方法来做到这一点。

4

0 回答 0