在Github上,尽管GitHub上还有许多其他问题,但每个存储库的第一期ID为1。
https://github.com/johndoe/foo/issues/1
如何在Django中完成此操作,以使模型的ID仅相对于与其相关的模型递增?
您可以在模型上简单地创建一个额外的唯一字段,这是一个示例
class MyModel(models.Model):
user = models.ForeignKey(User)
internal_id = models.CharField(verbose_name=_(u"Internal ID"), max_length=7)
@classmethod
def generate_internal_id(cls, self):
try:
# note: you could also implement 'lastest' which is more readable
return int(cls.objects.filter(user=self.user).order_by('-id')[0].id) + 1
except (IndexError, cls.DoesNotExist):
return SOME_INTERNAL_ID_OFFSET
def clean(self):
if not self.id:
self.internal_id = self.generate_internal_id()
return super(MyModel, self).clean()
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句