Skip to content

no-conflicting-pydantic-alias-validation

Pydantic alias configuration must retain a validation path.

Why

Explicitly disabling validation by both alias and field name prevents model construction.

Fix

Enable validation by alias, by field name, or both; disabling alias alone retains Pydantic's name fallback.

Examples

Before — flagged Both validation paths are explicitly disabled
app/models.py
from pydantic import BaseModel, ConfigDict
class Model(BaseModel):
model_config = ConfigDict(validate_by_alias=False, validate_by_name=False)
pyproject.toml
[project]
name = "example"
version = "0.1"
dependencies = ["pydantic>=2.11"]
After — preferred Disabling alias alone retains name validation
app/models.py
from pydantic import BaseModel, ConfigDict
class Model(BaseModel):
model_config = ConfigDict(validate_by_alias=False)
pyproject.toml
[project]
name = "example"
version = "0.1"
dependencies = ["pydantic>=2.11"]