model-bakery 1.19.3__py3-none-any.whl → 1.19.5__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.3"
1
+ __version__ = "1.19.5"
model_bakery/baker.py CHANGED
@@ -695,21 +695,27 @@ class Baker(Generic[M]):
695
695
  def _handle_generic_foreign_keys(self, instance: Model, attrs: Dict[str, Any]):
696
696
  """Set content type and object id for GenericForeignKey fields."""
697
697
  for field_name, data in attrs.items():
698
- content_type_field = data["content_type_field"]
699
- object_id_field = data["object_id_field"]
698
+ ct_field_name = data["content_type_field"]
699
+ oid_field_name = data["object_id_field"]
700
700
  value = data["value"]
701
- if value is None:
702
- continue
703
701
  if is_iterator(value):
704
702
  value = next(value)
705
-
706
- setattr(instance, field_name, value)
707
- setattr(
708
- instance,
709
- content_type_field,
710
- contenttypes_models.ContentType.objects.get_for_model(value),
711
- )
712
- setattr(instance, object_id_field, value.pk)
703
+ if value is None:
704
+ # when GFK is None, we should try to set the content type and object id to None
705
+ content_type_field = instance._meta.get_field(ct_field_name)
706
+ object_id_field = instance._meta.get_field(oid_field_name)
707
+ if content_type_field.null:
708
+ setattr(instance, ct_field_name, None)
709
+ if object_id_field.null:
710
+ setattr(instance, oid_field_name, None)
711
+ else:
712
+ setattr(instance, field_name, value)
713
+ setattr(
714
+ instance,
715
+ ct_field_name,
716
+ contenttypes_models.ContentType.objects.get_for_model(value),
717
+ )
718
+ setattr(instance, oid_field_name, value.pk)
713
719
 
714
720
  def _remote_field(
715
721
  self, field: Union[ForeignKey, OneToOneField]
@@ -108,7 +108,7 @@ default_mapping = {
108
108
  DecimalField: random_gen.gen_decimal,
109
109
  BinaryField: random_gen.gen_byte_string,
110
110
  CharField: random_gen.gen_string,
111
- TextField: random_gen.gen_text,
111
+ TextField: random_gen.gen_string,
112
112
  SlugField: random_gen.gen_slug,
113
113
  UUIDField: random_gen.gen_uuid,
114
114
  DateField: random_gen.gen_date,
@@ -133,7 +133,7 @@ if CICharField:
133
133
  if CIEmailField:
134
134
  default_mapping[CIEmailField] = random_gen.gen_email
135
135
  if CITextField:
136
- default_mapping[CITextField] = random_gen.gen_text
136
+ default_mapping[CITextField] = random_gen.gen_string
137
137
  if DecimalRangeField:
138
138
  default_mapping[DecimalRangeField] = random_gen.gen_pg_numbers_range(Decimal)
139
139
  if IntegerRangeField:
@@ -134,6 +134,15 @@ gen_slug.required = ["max_length"] # type: ignore[attr-defined]
134
134
 
135
135
 
136
136
  def gen_text() -> str:
137
+ warnings.warn(
138
+ "\n"
139
+ "Accessing `model_bakery.random_gen.gen_text` is deprecated "
140
+ "and will be removed in a future major release. Please use "
141
+ "`model_bakery.random_gen.gen_string` instead."
142
+ "\n",
143
+ DeprecationWarning,
144
+ stacklevel=2,
145
+ )
137
146
  return gen_string(MAX_LENGTH)
138
147
 
139
148
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: model-bakery
3
- Version: 1.19.3
3
+ Version: 1.19.5
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>
@@ -1,19 +1,19 @@
1
- model_bakery/__about__.py,sha256=hwO9b47mihV_ShO2KBpaKnSRFB7jsALia0ojxDiFh7k,23
1
+ model_bakery/__about__.py,sha256=eWKm9BJxlaMtgEAYPWMoZAydgtccEcvysPaz3EjVIko,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=kZx4vsB8xlQyMo8ZANmsAChRFMRSB9Kya4t1gCST7AE,30195
4
+ model_bakery/baker.py,sha256=bsyj9UkwSx69URU5znyAJ0_N1Vkz1qHyic7MbbQNLZI,30655
5
5
  model_bakery/content_types.py,sha256=3POJ12aqPuSvCdKYuwb1GlJpSocgByG2JW5kw7VBNxQ,395
6
6
  model_bakery/exceptions.py,sha256=q1oBZvfxL7HAD-F9aWgiYs4P4rz-hJ5TjeX7gcb3Q0I,333
7
- model_bakery/generators.py,sha256=agY6pH14vjehVI0wJDw3Q-u4zt7mq2M1a3CUPTkAxp0,5169
7
+ model_bakery/generators.py,sha256=weuPptRtWnznjXGB658ftLQtSj5RMwngx-ryBXapNjE,5173
8
8
  model_bakery/gis.py,sha256=eTNOfT98_ncLAb4KmOYJhE-3ALU2_pQbUpWPTolFZJI,1028
9
9
  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
- model_bakery/random_gen.py,sha256=IYhDhqsRBftceQRHtc9B4bUWLTjvEXkgEwhNhp9DajE,9787
12
+ model_bakery/random_gen.py,sha256=3rvZCg5px6NOY1Q3fHSqw51BY6iQfCmOoRX4SsCOp6U,10084
13
13
  model_bakery/recipe.py,sha256=3PVg8y-vvfOf7Z4o9J7QPoO8eegGmejFCVWco19AWIs,8378
14
14
  model_bakery/timezone.py,sha256=rd-KGVHqJoHdHKBgENPMBTRqqxgKE91CM9C0f9nS90M,325
15
15
  model_bakery/utils.py,sha256=fw4ewtwkJ6wZ9PbDzBGvODX7CV81ozy2_6JAQmITmX4,4581
16
- model_bakery-1.19.3.dist-info/METADATA,sha256=0n4eZedWjZn3P4gyjbAcVseuiFvUFLKZs06rK5A_9NE,4355
17
- model_bakery-1.19.3.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
18
- model_bakery-1.19.3.dist-info/licenses/LICENSE,sha256=kCwHls7z8Y7NyZCmdnV1qLSdLrQ8bHrXLji5HOasgUc,611
19
- model_bakery-1.19.3.dist-info/RECORD,,
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,,