获取Django中序列化程序保存的对象的最后一个插入ID

我有一个visitorSaveSerializer,它负责验证要保存的数据:

class VisitorSaveSerializer(serializers.ModelSerializer):

class Meta:
    model = Visitor
    fields = ('gsm', 'email', 'firstname', 'lastname')

问题是:

visitor_serializer = VisitorSaveSerializer(data={...related data here...})
    if visitor_serializer.is_valid():
        visitor_serializer.save() 
        visitor_id = visitor.serializer.data.get("id", 0) // Fails for sure.

好的,我知道 id 不在序列化程序字段中,所以最后一行失败了。

当我需要获取最后插入的 id 时,我应该如何保存对象?

回答

序列化程序返回保存的实例,因此您可以通过以下方式获取该实例的主键:

visitor_serializer = VisitorSaveSerializer(data={…})
if visitor_serializer.is_valid():
    visitor = visitor_serializer.save() 
    visitor_id = visitor.pk


以上是获取Django中序列化程序保存的对象的最后一个插入ID的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>