From 57cfd8f4963c82468f90f6d79e61aa4a0138a578 Mon Sep 17 00:00:00 2001 From: ducklet Date: Tue, 27 Jul 2021 19:34:28 +0200 Subject: [PATCH] fix lazy init calling default factory If no default factory is set the value is actually some internal sentinel object (dataclasses._MISSING_VALUE) instead of something falsy like `None`. --- unwind/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unwind/models.py b/unwind/models.py index 56ad2c5..7fdbb8c 100644 --- a/unwind/models.py +++ b/unwind/models.py @@ -195,7 +195,7 @@ class Movie: return for field in fields(Movie): - if getattr(self, field.name) is None and field.default_factory: + if getattr(self, field.name) is None and callable(field.default_factory): setattr(self, field.name, field.default_factory()) self._is_lazy = False