From 35a70edcfba3ae4023083d186eeec1338cbd448a Mon Sep 17 00:00:00 2001
From: Bernardo Fontes <bernardoxhc@gmail.com>
Date: Thu, 31 Mar 2022 19:30:48 -0300
Subject: [PATCH 1/3] Improve exception message

---
 model_bakery/baker.py | 2 +-
 tests/test_baker.py   | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/model_bakery/baker.py b/model_bakery/baker.py
index 78ea561b..c4b641b1 100644
--- a/model_bakery/baker.py
+++ b/model_bakery/baker.py
@@ -672,7 +672,7 @@ def generate_value(self, field: Field, commit: bool = True) -> Any:
         elif field.__class__ in self.type_mapping:
             generator = self.type_mapping[field.__class__]
         else:
-            raise TypeError("%s is not supported by baker." % field.__class__)
+            raise TypeError(f"field {field.name} type {field.__class__} is not supported by baker.")
 
         # attributes like max_length, decimal_places are taken into account when
         # generating the value.
diff --git a/tests/test_baker.py b/tests/test_baker.py
index 7a53937b..f65699c0 100644
--- a/tests/test_baker.py
+++ b/tests/test_baker.py
@@ -578,6 +578,7 @@ def test_unsupported_model_raises_an_explanatory_exception(self):
             assert False, "Should have raised a TypeError"
         except TypeError as e:
             assert "not supported" in repr(e)
+            assert "field unsupported_field" in repr(e)
 
 
 @pytest.mark.django_db

From 5606f0d6074ce629d335ca0d2210f1dcab1a390b Mon Sep 17 00:00:00 2001
From: Bernardo Fontes <bernardoxhc@gmail.com>
Date: Thu, 31 Mar 2022 19:31:44 -0300
Subject: [PATCH 2/3] Update changelog

---
 CHANGELOG.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4c64159c..499ba3c2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -15,6 +15,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
 - Extend type hints in `model_bakery.recipe` module, make `Recipe` class generic [PR #292](https://github.com/model-bakers/model_bakery/pull/292)
 - Explicitly add _fill_optional parameters to baker.make and baker.prepare to aid IDE autocomplete function. [PR #264](https://github.com/model-bakers/model_bakery/pull/264)
 - Fixed errors with reverse M2M relationships [PR #299](https://github.com/model-bakers/model_bakery/pull/299)
+- Improve exception message for unknown field types [PR #301](https://github.com/model-bakers/model_bakery/pull/301)
 
 ### Removed
 

From 7c312cb011f3e1d552d528e8c2ab2531cc350cee Mon Sep 17 00:00:00 2001
From: Bernardo Fontes <bernardoxhc@gmail.com>
Date: Thu, 31 Mar 2022 19:34:24 -0300
Subject: [PATCH 3/3] Code linter

---
 model_bakery/baker.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/model_bakery/baker.py b/model_bakery/baker.py
index c4b641b1..c7065b51 100644
--- a/model_bakery/baker.py
+++ b/model_bakery/baker.py
@@ -672,7 +672,9 @@ def generate_value(self, field: Field, commit: bool = True) -> Any:
         elif field.__class__ in self.type_mapping:
             generator = self.type_mapping[field.__class__]
         else:
-            raise TypeError(f"field {field.name} type {field.__class__} is not supported by baker.")
+            raise TypeError(
+                f"field {field.name} type {field.__class__} is not supported by baker."
+            )
 
         # attributes like max_length, decimal_places are taken into account when
         # generating the value.