black, add additional tests with combined fields and exclude_fields, add aliases for column names to tests with fields and exclude_fields
This commit is contained in:
@ -18,6 +18,7 @@ class BaseField(FieldInfo):
|
||||
column_type: sqlalchemy.Column
|
||||
constraints: List = []
|
||||
name: str
|
||||
alias: str
|
||||
|
||||
primary_key: bool
|
||||
autoincrement: bool
|
||||
@ -33,10 +34,14 @@ class BaseField(FieldInfo):
|
||||
default: Any
|
||||
server_default: Any
|
||||
|
||||
@classmethod
|
||||
def get_alias(cls) -> str:
|
||||
return cls.alias if cls.alias else cls.name
|
||||
|
||||
@classmethod
|
||||
def is_valid_field_info_field(cls, field_name: str) -> bool:
|
||||
return (
|
||||
field_name not in ["default", "default_factory"]
|
||||
field_name not in ["default", "default_factory", "alias"]
|
||||
and not field_name.startswith("__")
|
||||
and hasattr(cls, field_name)
|
||||
)
|
||||
@ -93,7 +98,7 @@ class BaseField(FieldInfo):
|
||||
@classmethod
|
||||
def get_column(cls, name: str) -> sqlalchemy.Column:
|
||||
return sqlalchemy.Column(
|
||||
cls.name or name,
|
||||
cls.alias or name,
|
||||
cls.column_type,
|
||||
*cls.constraints,
|
||||
primary_key=cls.primary_key,
|
||||
|
||||
Reference in New Issue
Block a user