drivendataorg / erdantic

Entity relationship diagrams for Python data model classes like Pydantic
https://erdantic.drivendata.org/
MIT License
317 stars 20 forks source link

Support pydantic field's alias #80

Open igoose1 opened 1 year ago

igoose1 commented 1 year ago

I suggest to support pydantic.Field.alias field. Currently erdantic ignores it.

That's an example with simple Gift class:

from pydantic import BaseModel, Field

class Gift(BaseModel):
    for_: str = Field(alias="for")

erdantic produces:

image

Although, pydantic displays a field as for:

>>> Gift.schema()
{'title': 'Gift', 'type': 'object', 'properties': {'for': {'title': 'For', 'type': 'string'}},
'required': ['for']}

Libraries like FastAPI use that schema in Swagger generations.