django的models在存储数据时,如何给其他字段自定义存储值?
原理
重写models的save方法
示例
class YourModel(models.Model):
...
def save(self, *args, **kwargs):
if self.pk: # 已存在的对象
ori_ins = YourModel.objects.get(pk=self.pk)
if ori_ins.field1 != self.field1 and self.field1 == 5: # self.field1 == 5指定某情况,根据业务进行调整
self.field2 = 给field2赋的值
return super().save(*args, **kwargs)

浙公网安备 33010602011771号