2015-05-07 20 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()