@dataclass
class User:
id: int
email: str
password: str
country: str
city: str
is_admin: bool = False
def __eq__(self, other) -> bool:
return self.id == other.id
user_table = sa.Table(
'user',
mapper_registry.metadata,
sa.Column('id', UUID(as_uuid=True), primary_key=True, server_default=sa.text('gen_random_uuid()'), nullable=False),
sa.Column('email', sa.String(100), nullable=False, unique=True),
sa.Column('password', sa.String(128), nullable=False),
sa.Column('country', sa.String(50)),
sa.Column('city', sa.String(50)),
sa.Column('is_admin', sa.Boolean(), server_default=sa.text('false'), nullable=False),
)
user_mapper = mapper_registry.map_imperatively(user_model.User, user_table)
< /code>
Это не сложно. Теперь я хочу переместить информацию о адресах в отдельный объект значения внутри объекта пользователя, но все же сопоставьте ее на одну таблицу на стороне PostgreSQL.@dataclass(frozen=True)
class UserAddress:
country: str | None = None
city: str | None = None
@dataclass
class User:
id: int
email: str
password: str
address: UserAddress = UserAddress()
is_admin: bool = False
def __eq__(self, other) -> bool:
return self.id == other.id
user_table = sa.Table(
'user',
mapper_registry.metadata,
sa.Column('id', UUID(as_uuid=True), primary_key=True, server_default=sa.text('gen_random_uuid()'), nullable=False),
sa.Column('email', sa.String(100), nullable=False, unique=True),
sa.Column('password', sa.String(128), nullable=False),
sa.Column('country', sa.String(50)),
sa.Column('city', sa.String(50)),
sa.Column('is_admin', sa.Boolean(), server_default=sa.text('false'), nullable=False),
)
user_mapper = ???
< /code>
Как лучше всего это сделать?user_mapper = mapper_registry.map_imperatively(user_model.User, user_table, properties={
'info': composite(user_model.UserInfo, user_table.c.name, user_table.c.last_name, user_table.c.birthdate, user_table.c.phone)
})
Но это требует пользователя userinfo , чтобы иметь метод __composite_values __ , которого я хочу избежать. Я не хочу, чтобы userInfo класс знал что-нибудь о DB-специфическом материале и реализовал какие-либо методы для него.
Есть ли другой способ?
Допустим, у меня есть сущность, которая сопоставлена с таблицей PostgreSQL в SQLALCHEMY.[code]@dataclass class User: id: int email: str password: str country: str city: str is_admin: bool = False
< /code> Это не сложно. Теперь я хочу переместить информацию о адресах в отдельный объект значения внутри объекта пользователя, но все же сопоставьте ее на одну таблицу на стороне PostgreSQL.@dataclass(frozen=True) class UserAddress: country: str | None = None city: str | None = None
@dataclass class User: id: int email: str password: str address: UserAddress = UserAddress() is_admin: bool = False
< /code> Как лучше всего это сделать?user_mapper = mapper_registry.map_imperatively(user_model.User, user_table, properties={ 'info': composite(user_model.UserInfo, user_table.c.name, user_table.c.last_name, user_table.c.birthdate, user_table.c.phone) }) [/code] Но это требует пользователя userinfo , чтобы иметь метод __composite_values __ , которого я хочу избежать. Я не хочу, чтобы userInfo класс знал что-нибудь о DB-специфическом материале и реализовал какие-либо методы для него. Есть ли другой способ?
У меня есть кадр данных, полученный из программы чтения PDF-файлов, поэтому чтение данных происходит немного с ошибками.
Столбец A Столбец B Столбец C Столбец D Столбец E ABC 5 10 Привет ABC DEF Нет Нет Нет Нет GHI 25 30 Пока Лол JKL Нет Нет Нет...
/*trying to iterate and print detailsResp data in loggers
I used streams code to print xml object schema file data to iterate and print in object data value in logger but every time it's printing hash code format value only. highly appreciate your...