我有一个这样的模型类:
class TestModel(models.Model):
class Meta:
unique_together = ('prefix', 'number')
prefix = models.CharField(max_length=30)
number = models.IntegerField()
前缀和数字一起构成了我的模型的自然键,但我并不特别在意这个数字是什么。因此,自动增量(不是每个前缀)就可以了。我不想指定号码,但我希望能够(例如因为现有的前缀+号码对需要放入此系统)。
对于eaxmple,大多数时候我只想使用自动增量:
'the_prefix', 1
'the_prefix', 2
但是,我可能希望在少数情况下使用特定(前缀,数字)组合,例如来自遗留系统的(前缀,数字)对:
'manually', 2 # number is not unique alone...
'manually', 4 # ... or sequential
据我所知,
有没有办法实现这一点(或者我的陈述之一是错误的)?如果存在与数据库无关的解决方案,那当然是首选,但除此之外,SQLite(开发)和MySQL(生产)对我个人来说最重要。
也欢迎变通办法 - 我正在尝试将PK用作数字的“默认”,但