0
我正在計劃一個計費軟件。現在,對於這些賬單,我需要一張賬單,我也希望成爲主要賬單。該賬單號必須是客戶ID和自動遞增序列號的組合。在django中創建自定義複合主鍵
對於離,如果客戶ID爲「ABC」,那麼我想該法案pk爲ABC1,ABC2,等等等等....
如何才能做到這一點是Django的。現在我正在使用sqlite,但是我正計劃在部署期間使用MySQL。
謝謝。
我正在計劃一個計費軟件。現在,對於這些賬單,我需要一張賬單,我也希望成爲主要賬單。該賬單號必須是客戶ID和自動遞增序列號的組合。在django中創建自定義複合主鍵
對於離,如果客戶ID爲「ABC」,那麼我想該法案pk爲ABC1,ABC2,等等等等....
如何才能做到這一點是Django的。現在我正在使用sqlite,但是我正計劃在部署期間使用MySQL。
謝謝。
自定義保存方法,以及生成的主鍵
def sku(last_sku):
sku = last_sku[:4]
sku += str(int(last_sku[4:]) + 1).zfill(4)
return sku;
class YourModel(models.Model):
sku = models.CharField(max_length=8,primary_key==True)
customer = models.ForeignKey(Customer)
...
def save(self, *args, **kwargs):
if not self.sku:
customer_id = self.customer.id
try:
last = YourModel.objects.filter(customer_id = customer_id).latest('sku')
self.sku = sku(last.sku)
except YourModel.DoesNotExist:
self.sku = self.customer_id+"0001"
super(YourModel,self).save(*args,**kwargs)