datamodel-code-generator
datamodel-code-generator copied to clipboard
Add `model_config = ConfigDict(use_attribute_docstrings=True)` when the command option `--use-field-description` is used
The use_attribute_docstrings key is available in Pydantic v2.7+ that enables docstrings of attributes to be used for field descriptions. If the value is the default False, the examples in the linked documentation would print None. It'll be nice for the docstrings to still be accessible via Model.model_fields["x"].description, just like if it's defined using Field(description="Description in Field").
Also interested in this. We use a workaround today to get this behavior, by defining a base class which sets use_attribute_docstrings:
# my_library/_base.py
from pydantic import BaseModel, ConfigDict
class MyBaseModel(BaseModel):
model_config = ConfigDict(
use_attribute_docstrings=True,
)
Then we pass the option --base-class my_library._base.MyBaseModel to the datamodel-codegen command.