保存记录django rest frwamework后如何返回ID。
我正在尝试在保存后立即获取保存的对象。
注册成功,但不返回ID。
empresa = EmpresaCreateSerializer(data=data)
empresa.user = user_id
if(empresa.is_valid()):
empresa.save()
print(empresa.id)
else:
return Response(empresa.errors)
模型
class Empresa(models.Model):
nome = models.CharField(max_length=255, null=True)
cnpj = models.CharField(max_length=15, null=True)
user = models.ForeignKey(User)
def __str__(self):
return self.nome
序列化器
class EmpresaCreateSerializer(serializers.ModelSerializer):
nome = serializers.CharField(allow_blank=True, allow_null=True)
cnpj = serializers.CharField(allow_blank=True, allow_null=True)
class Meta:
model = Empresa
fields = ('id','nome', 'cnpj', 'user')
最佳答案
您需要分配从save()
方法返回的值:
obj = empresa.save()
print(obj.id)
原因是
save()
调用了序列化程序的create()
,该序列化程序返回一个对象实例。关于django - 保存记录Django Rest框架后如何返回ID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46087646/