Python 从父对象自动创建子对象-Django 1.11

Python 从父对象自动创建子对象-Django 1.11,python,django,Python,Django,我有一个父类: class Parent(models.Model): field1 = model.CharField() field2 = model.CharField() 还有一个孩子: class Child1(Parent): pass 是否有可能在保存perent时创建子对象 子对象从父对象继承所有字段,但是,无论是否填充,每当保存父对象时,我都需要创建一个新的子对象 有什么想法吗?您可以使用信号,也可以覆盖Parent模型的save方法来实现这一点

我有一个父类:

class Parent(models.Model):
     field1 = model.CharField()
     field2 = model.CharField()
还有一个孩子:

class Child1(Parent):
    pass
是否有可能在保存perent时创建子对象

子对象从父对象继承所有字段,但是,无论是否填充,每当保存父对象时,我都需要创建一个新的子对象


有什么想法吗?

您可以使用信号,也可以覆盖Parent模型的save方法来实现这一点

@receiver(models.signals.post_save, sender=Parent)
def post_parent_save(sender, instance, created, *args, **kwargs):
    # Create child here
或者


在这两个选项中,如果只想在创建父项时创建子项(不更新),则需要添加额外的登录名。对于信号,您可以使用创建的参数,对于覆盖save方法,您需要在调用super save method之前检查模型实例是否具有id字段。

我想知道这样的方法是否适用于您:

class Child1(Parent):
    class Meta:
        db_table = 'whateverappparentisin_parent'
        managed = False
我不确定Django会怎么做,但我的想法是,您得到的模型具有完全相同的字段,由相同的数据库表支持(因此,其他所有内容,例如父对象上的删除,也将在Child1上立即“可见”),而Django不想对其进行迁移


但我不知道是否允许这样做。

让他们使用相同的数据库表?我想做一件很不寻常的事。当然是,但我能说什么呢。。。你有什么可以作为答案的例子吗?非常感谢。
class Child1(Parent):
    class Meta:
        db_table = 'whateverappparentisin_parent'
        managed = False