При использовании SQLModel и Pydantic create_model как указать схему базы данных и имя таблицы?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 При использовании SQLModel и Pydantic create_model как указать схему базы данных и имя таблицы?

Сообщение Anonymous »

Приведенный ниже код позволяет использовать словарь для динамического создания модели и таблицы базы данных. Однако я изо всех сил пытаюсь понять, как указать имя таблицы и схему базы данных, которые она будет использовать явно. Я не хочу использовать схему по умолчанию, а сгенерированное имя таблицы должно быть в нижнем регистре.
Если бы это была обычная статическая модель, я мог бы использовать __tablename__ = "MyTableName" и __table_args__ = {'schema': 'MySchema' внутри класса моделей. Однако похоже, что pydantics create_model не поддерживает их. Есть какой-либо способ сделать это? Спасибо.
field_definitions = {
"Id": (Optional[int], Field(default=None, primary_key=True)),
"Field1": (UUID, Field(sa_column=Column(UNIQUEIDENTIFIER(), nullable=False, comment=""))),
"Field2": (date, Field(sa_column=Column(DATE(), nullable=False, server_default=text("GETUTCDATE()"), comment=""))),
"Field3": (datetime, Field(sa_column=Column(DATETIME2(7), nullable=False, server_default=text("GETUTCDATE()"), comment=""))),
"Field4": (Optional[datetime], Field(sa_column=Column(DATETIME2(7), nullable=True, comment=""))),
"Field5" : (bool, Field(sa_column=Column(BIT(), nullable=False, server_default=text("0"), comment=""))),
"Field6": (str, Field(sa_column=Column(NVARCHAR(1000), nullable=False, comment="")))
}

Table = create_model(
"TestTable",
__base__=SQLModel,
__cls_kwargs__={"table": True},
**field_definitions
)

SQLModel.metadata.create_all(engine)


Подробнее здесь: https://stackoverflow.com/questions/785 ... atabase-sc
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»