不使用GenericForeignKey的抽象ForeignKey

时间:2019-05-15 10:58:08

标签: django django-models

要为我的模型创建通用版本控制,我已经创建了模型value

ready

和抽象模型Version

class Version(models.Model):
    version_number = models.IntegerField()
    ...

一切正常,但是我想让数据库检查每个版本是否分配给一个并且只有一个对象。

我能想到的是修改字段VersionedModel并使用class VersionedModel(models.Model): ... versions = models.ManyToManyField(Version, related_name="%(app_label)s_%(class)s") class Meta: abstract = True 创建中间表,然后在其中可以对version_id使用唯一索引,但是我回到了最初的问题为抽象模型创建versions字段的过程。

我不喜欢使用through,因为它们在使用石墨烯时会引起各种麻烦。我想知道是否存在一种以其他方式对此进行建模的方法,或者使用我不知道的一些约束,以便数据库可以自己提供完整性和唯一性。

0 个答案:

没有答案