From 5663ad6cc2e523e0e0518e16de1e65f0d89f029d Mon Sep 17 00:00:00 2001 From: collerek Date: Wed, 11 Nov 2020 10:24:36 +0100 Subject: [PATCH] move back instance creation before query in create to catch errors early --- ormar/queryset/queryset.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ormar/queryset/queryset.py b/ormar/queryset/queryset.py index e202a99..a6aa9e7 100644 --- a/ormar/queryset/queryset.py +++ b/ormar/queryset/queryset.py @@ -337,15 +337,15 @@ class QuerySet: expr = self.table.insert() expr = expr.values(**new_kwargs) + instance = self.model(**kwargs) pk = await self.database.execute(expr) pk_name = self.model.get_column_alias(self.model_meta.pkname) if pk_name not in kwargs and pk_name in new_kwargs: - kwargs["pk"] = new_kwargs[self.model_meta.pkname] + instance.pk = new_kwargs[self.model_meta.pkname] if pk and isinstance(pk, self.model.pk_type()): - kwargs[self.model_meta.pkname] = pk + instance.pk = pk - instance = self.model(**kwargs) # refresh server side defaults instance = await instance.load()