fix polymorphic_on check
This commit is contained in:
parent
589237b80f
commit
4071b0fc64
@ -294,16 +294,19 @@ if IS_PYDANTIC_V2:
|
|||||||
# Override polymorphic_on default value
|
# Override polymorphic_on default value
|
||||||
mapper = inspect(cls)
|
mapper = inspect(cls)
|
||||||
polymorphic_on = mapper.polymorphic_on
|
polymorphic_on = mapper.polymorphic_on
|
||||||
polymorphic_property = mapper.get_property_by_column(polymorphic_on)
|
if polymorphic_on:
|
||||||
field_info = cls.model_fields.get(polymorphic_property.key)
|
polymorphic_property = mapper.get_property_by_column(polymorphic_on)
|
||||||
if field_info:
|
field_info = cls.model_fields.get(polymorphic_property.key)
|
||||||
v = values.get(polymorphic_property.key)
|
if field_info:
|
||||||
# if model is inherited or polymorphic_on is not explicitly set
|
v = values.get(polymorphic_property.key)
|
||||||
# set the polymorphic_on by default
|
# if model is inherited or polymorphic_on is not explicitly set
|
||||||
if mapper.inherits or v is None:
|
# set the polymorphic_on by default
|
||||||
setattr(
|
if mapper.inherits or v is None:
|
||||||
self_instance, polymorphic_property.key, mapper.polymorphic_identity
|
setattr(
|
||||||
)
|
self_instance,
|
||||||
|
polymorphic_property.key,
|
||||||
|
mapper.polymorphic_identity,
|
||||||
|
)
|
||||||
return self_instance
|
return self_instance
|
||||||
|
|
||||||
def sqlmodel_validate(
|
def sqlmodel_validate(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user