2015-05-07 17 views
1

我想创建一个模型,我有一个case_id字段。该字段应该是自动递增的。但我CASE_ID值应在所示的格式,用字符串自动递增id值django

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

Charfields不能自动递增。

但是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()