Repository: model-bakers/model_bakery

Issue:
Better exception message for non supported fields
## Expected behavior

To add the field name to the exception that's raised when bakery can't handle a specific field type. Not having the field name in the exception forces the developer to inspect the model definition to figure out what's the name of the field they may want to add default values.

The ideal exception message could be something like:

```
TypeError: field field_name type <class 'markupfield.fields.MarkupField'> is not supported by baker.
```

## Actual behavior

```
TypeError: <class 'markupfield.fields.MarkupField'> is not supported by baker.
```


## Reproduction Steps

Install a thirdy party app which implements custom fields, define a model with an unsupported field type and try to call `baker.make` for that model.

### Versions

Python: 3.9
Django: 3.2
Model Bakery: 1.3.2


Discussion:

Patch:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4c64159..499ba3c 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
 
diff --git a/model_bakery/baker.py b/model_bakery/baker.py
index 78ea561..c7065b5 100644
--- a/model_bakery/baker.py
+++ b/model_bakery/baker.py
@@ -672,7 +672,9 @@ class Baker(Generic[M]):
         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.


Test patch:
diff --git a/tests/test_baker.py b/tests/test_baker.py
index 7a53937..f65699c 100644
--- a/tests/test_baker.py
+++ b/tests/test_baker.py
@@ -578,6 +578,7 @@ class TestHandlingUnsupportedModels:
             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