Python 模型:class1或class2如何与class3有关系,但两者都不存在关系?

Python 模型:class1或class2如何与class3有关系,但两者都不存在关系?,python,django,django-models,models,Python,Django,Django Models,Models,我有三门课: 类别1与类别3有一对多关系 类别2与类别3有一对多关系: 第1类和第2类不相关 如何为这个数据库建模 选择1 如果不需要,请将ForeignKey字段设置为null。可以用干净的方法验证 选择2 使用模型继承 class A(models.Model): # ... pass class B(models.Model): # ... pass class AbstractC(models.Model): # ... class

我有三门课:

类别1与类别3有一对多关系

类别2与类别3有一对多关系:

第1类和第2类不相关

如何为这个数据库建模

选择1 如果不需要,请将ForeignKey字段设置为null。可以用干净的方法验证

选择2 使用模型继承

class A(models.Model):
    # ...
    pass

class B(models.Model):
    # ...
    pass

class AbstractC(models.Model):
    # ...

    class Meta:
        # ...
        abstract = True

class CtoA(AbstractC)
    # ...
    fkA = models.ForeignKey(A)
    # ...

class CtoB(AbstractC)
    # ...
    fkB = models.ForeignKey(B)
    # ...
数据库迁移: $python manage.py makemigrations

$python manage.py迁移

class A(models.Model):
    # ...
    pass

class B(models.Model):
    # ...
    pass

class AbstractC(models.Model):
    # ...

    class Meta:
        # ...
        abstract = True

class CtoA(AbstractC)
    # ...
    fkA = models.ForeignKey(A)
    # ...

class CtoB(AbstractC)
    # ...
    fkB = models.ForeignKey(B)
    # ...