目标:将customer_number
设置为b_country
+id
+10000的计算值
型号.py
class Customer(models.Model):
id = models.BigAutoField(primary_key=True)
customer_number = models.CharField("Customer #", max_length=10, default=0)
b_country = models.TextField("Country", max_length=2, choices=COUNTRY_OPTIONS)
@property
def get_customer_number(self):
a = self.b_country
b = (self.id + 10000)
return a + str(b)
def save(self, *args, **kwarg):
self.customer_number = self.get_customer_number
super(Customer, self).save(*args, **kwarg)
问题:提交表单以创建新客户(新记录)时,出现以下错误:
a 'CA'
self Error in formatting: TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'>
当我已经有一个记录(更新和现有客户的信息),然后代码工作良好。据我所知,它无法获取id
,因为它在发送到模型之前仍在验证数据,因此没有Customer.id
可用于此实例
问题:有没有更干净的方法来设置基于PK的customer_number
目前没有回答
相关问题 更多 >
编程相关推荐