使用字符串 django 自动增加 id 值
Posted
技术标签:
【中文标题】使用字符串 django 自动增加 id 值【英文标题】:Auto incrementing id value with string django 【发布时间】:2015-07-18 01:29:26 【问题描述】:我正在尝试创建一个包含 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()
我该怎么做?
【问题讨论】:
【参考方案1】:字符域不能自动递增。
但是Django signals 可以帮助您模拟这种行为。你可以做一个预保存或保存后的信号来制作它,例如:
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()
【讨论】:
以上是关于使用字符串 django 自动增加 id 值的主要内容,如果未能解决你的问题,请参考以下文章