对于我的模型,我使用默认的自动递增
PrimaryKey/id
领域我还有一个字段叫做
serialNumber
根据设计应参考
id
并根据
身份证件
例如,如果
身份证件
是
1234
序列号
字段应为字符串
'00001234'
.
class MyModel(models.Model):
...
serialNumber = models.TextField(max_length=8)
...
序列号
在DB中创建记录后,但我的具体情况需要
序列号
与对象初始创建一起设置,因为在它之后,我通过返回记录
REST API
.
我试过使用
signals
,但pre_save返回
None
@receiver(pre_save, sender=MyModel)
def my_pre_save(sender, instance, **kwargs):
print(instance.id)
另一方面,如果我这样做:
@receiver(post_save, sender=MyModel)
def my_post_save(sender, instance, **kwargs):
print(instance.id)
我收到的价值
身份证件
但为时已晚,因为不久之后
.save()
我的
REST API
返回创建对象的响应,我不想添加管理
序列号
到序列化程序。
最重要的
.保存()
方法
MyModel
也不起作用:
def save(self, *args, **kwargs):
print(self.id)
super(MyModel, self).save(*args, **kwargs)
Id
字段仍然返回
没有一个
.
任何人都知道如何访问
身份证件
记录初始创建期间的价值?