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