datamodel-code-generator icon indicating copy to clipboard operation
datamodel-code-generator copied to clipboard

Add `model_config = ConfigDict(use_attribute_docstrings=True)` when the command option `--use-field-description` is used

Open 9ao9ai9ar opened this issue 1 year ago • 1 comments

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").

9ao9ai9ar avatar Jul 30 '24 12:07 9ao9ai9ar

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.

menzenski avatar Aug 05 '24 12:08 menzenski