model-bakery 1.19.5__py3-none-any.whl → 1.20.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of model-bakery might be problematic. Click here for more details.

model_bakery/__about__.py CHANGED
@@ -1 +1 @@
1
- __version__ = "1.19.5"
1
+ __version__ = "1.20.1"
model_bakery/baker.py CHANGED
@@ -27,6 +27,7 @@ from django.db.models import (
27
27
  Model,
28
28
  OneToOneField,
29
29
  )
30
+ from django.db.models.fields import NOT_PROVIDED
30
31
  from django.db.models.fields.proxy import OrderWrt
31
32
  from django.db.models.fields.related import (
32
33
  ReverseManyToOneDescriptor as ForeignRelatedObjectsDescriptor,
@@ -727,6 +728,7 @@ class Baker(Generic[M]):
727
728
 
728
729
  Generator Resolution Precedence Order:
729
730
  -- `field.default` - model field default value, unless explicitly overwritten during baking
731
+ -- `field.db_default` - model field db default value, unless explicitly overwritten
730
732
  -- `attr_mapping` - mapping per attribute name
731
733
  -- `choices` -- mapping from available field choices
732
734
  -- `type_mapping` - mapping from user defined type associated generators
@@ -750,6 +752,8 @@ class Baker(Generic[M]):
750
752
  if callable(field.default):
751
753
  return field.default()
752
754
  return field.default
755
+ elif getattr(field, "db_default", NOT_PROVIDED) != NOT_PROVIDED:
756
+ return field.db_default
753
757
  elif field.name in self.attr_mapping:
754
758
  generator = self.attr_mapping[field.name]
755
759
  elif field.choices:
model_bakery/recipe.py CHANGED
@@ -164,9 +164,11 @@ class Recipe(Generic[M]):
164
164
  **attrs: Any,
165
165
  ) -> Union[M, List[M]]:
166
166
  defaults = {
167
- "_quantity": _quantity,
168
167
  "_save_related": _save_related,
169
168
  }
169
+ if _quantity is not None:
170
+ defaults["_quantity"] = _quantity # type: ignore[assignment]
171
+
170
172
  defaults.update(attrs)
171
173
  return baker.prepare(
172
174
  self._model, _using=_using, **self._mapping(_using, defaults)
model_bakery/timezone.py CHANGED
@@ -8,6 +8,6 @@ from django.conf import settings
8
8
  def tz_aware(value: datetime) -> datetime:
9
9
  """Return an UTC-aware datetime in case of USE_TZ=True."""
10
10
  if settings.USE_TZ:
11
- value = value.replace(tzinfo=timezone.utc)
11
+ return value.replace(tzinfo=timezone.utc)
12
12
 
13
- return value
13
+ return value.replace(tzinfo=None)
model_bakery/utils.py CHANGED
@@ -86,7 +86,10 @@ def seq(value, increment_by=1, start=None, suffix=None):
86
86
  start = (date - epoch_datetime).total_seconds()
87
87
  increment_by = increment_by.total_seconds()
88
88
  for n in itertools.count(increment_by, increment_by):
89
- series_date = tz_aware(datetime.datetime.utcfromtimestamp(start + n))
89
+ series_date = tz_aware(
90
+ datetime.datetime.fromtimestamp(start + n, tz=datetime.timezone.utc)
91
+ )
92
+
90
93
  if type(value) is datetime.time:
91
94
  yield series_date.time()
92
95
  elif type(value) is datetime.date:
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: model-bakery
3
- Version: 1.19.5
3
+ Version: 1.20.1
4
4
  Summary: Smart object creation facility for Django.
5
5
  Project-URL: Homepage, https://github.com/model-bakers/model_bakery
6
6
  Author-email: berin <bernardoxhc@gmail.com>, amureki <amureki@hey.com>
@@ -22,6 +22,7 @@ Classifier: Programming Language :: Python :: 3.9
22
22
  Classifier: Programming Language :: Python :: 3.10
23
23
  Classifier: Programming Language :: Python :: 3.11
24
24
  Classifier: Programming Language :: Python :: 3.12
25
+ Classifier: Programming Language :: Python :: 3.13
25
26
  Classifier: Topic :: Software Development
26
27
  Requires-Python: >=3.8
27
28
  Requires-Dist: django>=4.2
@@ -1,7 +1,7 @@
1
- model_bakery/__about__.py,sha256=eWKm9BJxlaMtgEAYPWMoZAydgtccEcvysPaz3EjVIko,23
1
+ model_bakery/__about__.py,sha256=RqzUQEsX4hUOb94B1GOAj7CGJi2Hi7fdu4qN6_hsF8I,23
2
2
  model_bakery/__init__.py,sha256=yY0xZUrr_mskBm07iF-MFBEiXzOuKrlMwpKWkXZs8v0,31
3
3
  model_bakery/_types.py,sha256=P0iKC5-Cnh3lyzyZs1mlCfOW31zbEZpxqWCuYonucKo,130
4
- model_bakery/baker.py,sha256=bsyj9UkwSx69URU5znyAJ0_N1Vkz1qHyic7MbbQNLZI,30655
4
+ model_bakery/baker.py,sha256=KvAK_fAoqKgjik7ormzYZelHw-yxtuHiaHjtM9uXpu8,30905
5
5
  model_bakery/content_types.py,sha256=3POJ12aqPuSvCdKYuwb1GlJpSocgByG2JW5kw7VBNxQ,395
6
6
  model_bakery/exceptions.py,sha256=q1oBZvfxL7HAD-F9aWgiYs4P4rz-hJ5TjeX7gcb3Q0I,333
7
7
  model_bakery/generators.py,sha256=weuPptRtWnznjXGB658ftLQtSj5RMwngx-ryBXapNjE,5173
@@ -10,10 +10,10 @@ model_bakery/mock_file.txt,sha256=CO5zPS6Uydk48ZRnGcRKVEYKd2YjaUMa9QOgF5gGMCo,10
10
10
  model_bakery/mock_img.jpeg,sha256=iF2ybgAVtDvl48-8VKdv_QFHKfnqeOaeGwR6ZLexJkY,1916
11
11
  model_bakery/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
12
  model_bakery/random_gen.py,sha256=3rvZCg5px6NOY1Q3fHSqw51BY6iQfCmOoRX4SsCOp6U,10084
13
- model_bakery/recipe.py,sha256=3PVg8y-vvfOf7Z4o9J7QPoO8eegGmejFCVWco19AWIs,8378
14
- model_bakery/timezone.py,sha256=rd-KGVHqJoHdHKBgENPMBTRqqxgKE91CM9C0f9nS90M,325
15
- model_bakery/utils.py,sha256=fw4ewtwkJ6wZ9PbDzBGvODX7CV81ozy2_6JAQmITmX4,4581
16
- model_bakery-1.19.5.dist-info/METADATA,sha256=gPM0GPMLgOGqJFQKBYLNcy-Gg1OM5NkryKzwaY9fVUo,4355
17
- model_bakery-1.19.5.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
18
- model_bakery-1.19.5.dist-info/licenses/LICENSE,sha256=kCwHls7z8Y7NyZCmdnV1qLSdLrQ8bHrXLji5HOasgUc,611
19
- model_bakery-1.19.5.dist-info/RECORD,,
13
+ model_bakery/recipe.py,sha256=lxsfdrNKydHLgPRiUTVh7DssmG-z2f8gL6okJ7yoCSQ,8451
14
+ model_bakery/timezone.py,sha256=IvrzSer02FkUd_8DcJVOwTcRzeBn4qZ2pYvcI3QOr9E,345
15
+ model_bakery/utils.py,sha256=NjUsWuPmCYy6kHLjWmYnH7l-MVqlqiqSh7uq1U7EWaI,4635
16
+ model_bakery-1.20.1.dist-info/METADATA,sha256=sltjUvyyDEGAo78mSRFhpnUATUWPirCI15RNjq4hDpg,4406
17
+ model_bakery-1.20.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
18
+ model_bakery-1.20.1.dist-info/licenses/LICENSE,sha256=kCwHls7z8Y7NyZCmdnV1qLSdLrQ8bHrXLji5HOasgUc,611
19
+ model_bakery-1.20.1.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: hatchling 1.25.0
2
+ Generator: hatchling 1.27.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any