当前位置:   article > 正文

python自动生成编号_python自动生成顺序编号

python自动生成顺序编号

model

# 编号自增字段
class Bh(BaseModel):
    key = models.CharField(null=True, max_length=128, verbose_name="唯一值", db_index=True, unique=True)
    bh = models.IntegerField(verbose_name="编号", db_index=True)

    class Meta:
        ordering = ['key']
        db_table = 'project_bh'
        verbose_name = '编号自增'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

生成编号的方法

from reclamation.models import Bh
from utils.exceptions import APIException


def get_bh(key):
    for i in range(3):
        obj, created = Bh.objects.get_or_create(key=key)
        raw_bh = obj.bh
        record_count = Bh.objects.filter(key=key, bh=raw_bh).update(bh=raw_bh + 1)
        if record_count == 1:
            return raw_bh + 1
    raise APIException(message="配号错误,请重新获取", code=51)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/795976
推荐阅读
相关标签
  

闽ICP备14008679号