python - 使用字符串django自动递增id值

标签 python django auto-increment

我正在尝试创建一个模型,其中有一个 case_id 字段。该字段应该自动递增。但我的 case_id 值应该采用所示的格式,

case_id=FAS150001(这应该是第一个值)

class InformationRequest(models.Model):

    """Model to track information"""

    case_id = models.CharField(max_length=50)
    user = models.ForeignKey(User)
    information = models.TextField()

我该怎么做?

最佳答案

Charfield 不能自动递增。

但是Django signals可以帮助您模拟这种行为。您可以为 make it 执行预保存或后保存信号,例如:

from django.db.models.signals import pre_save
from django.dispatch import receiver
from myapp.models import InformationRequest


@receiver(pre_save, sender=InformationRequest)
def my_handler(sender, instance=None, **kwargs):
    # Compute case_id, ex:
    # instance.case_id = increment_case_id()

关于python - 使用字符串django自动递增id值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30101678/

相关文章:

python - pygame 图标无法正确显示

python - 使用 python 基于每个项目的第一个键对 dict 结果进行分组列表

ajax - Django session 持久但丢失数据

mysql - AUTO_INCREMENT达到极限后如何处理?

java - 返回插入的 id Oracle 时并非所有变量都绑定(bind)

python - 有没有办法让 pygame 检测我的光标所在的颜色

python - Django Chartit 原始查询中不存在表

javascript - 类型错误状态文本 : "Internal Server Error" for a simple post "LIKE" feature in Django using Ajax

c# - 删除最后一行以外的任何行后,如何对自动增量列值重新排序?

python - 如何判断使用女服务员的 flask 服务器何时重载