@@ -539,21 +539,21 @@ def __new__(
539
539
config_kwargs = {
540
540
key : kwargs [key ] for key in kwargs .keys () & allowed_config_kwargs
541
541
}
542
- base_fields = {}
543
- base_annotations = {}
544
- for base in bases [:: - 1 ]:
545
- if issubclass ( base , BaseModel ) :
546
- base_fields . update ( get_model_fields ( base ))
547
- base_annotations .update (base . __annotations__ )
548
- # use base_fields overwriting the ones from the class for inherit
549
- # if base is a sqlalchemy model, it's attributes will be an InstrumentedAttribute
550
- # thus pydantic will use the value of the attribute as the default value
551
- base_annotations . update ( dict_used [ "__annotations__" ])
552
- dict_used ["__annotations__" ] = base_annotations
553
- base_fields . update ( dict_used )
554
- new_cls = super (). __new__ (
555
- cls , name , bases , base_fields , ** config_kwargs
556
- )
542
+ if IS_PYDANTIC_V2 :
543
+ base_fields = {}
544
+ base_annotations = {}
545
+ for base in bases [:: - 1 ] :
546
+ if issubclass ( base , BaseModel ):
547
+ base_fields .update (get_model_fields ( base ) )
548
+ base_annotations . update ( base . __annotations__ )
549
+ # use base_fields overwriting the ones from the class for inherit
550
+ # if base is a sqlalchemy model, it's attributes will be an InstrumentedAttribute
551
+ # thus pydantic will use the value of the attribute as the default value
552
+ base_annotations . update ( dict_used ["__annotations__" ])
553
+ dict_used [ "__annotations__" ] = base_annotations
554
+ base_fields . update ( dict_used )
555
+ dict_used = base_fields
556
+ new_cls = super (). __new__ ( cls , name , bases , dict_used , ** config_kwargs )
557
557
new_cls .__annotations__ = {
558
558
** relationship_annotations ,
559
559
** pydantic_annotations ,
0 commit comments