Для чего нужны параметры create_constraint и name в булевом типе в sqlalchemy (python)? - PullRequest
0 голосов
/ 03 июля 2011

В документации по sqlalchemy я читаю:

class sqlalchemy.types.Boolean(create_constraint=True, name=None)

Тип данных bool.

Как правило, Boolean использует BOOLEAN или SMALLINT на стороне DDL,и на стороне Python имеет значение True или False.

Параметры: create_constraint - по умолчанию True.Если логическое значение генерируется как int / smallint, также создайте ограничение CHECK для таблицы, которое обеспечивает 1 или 0 в качестве значения.name - если сгенерировано ограничение CHECK, укажите имя ограничения.

Я хочу использовать этот тип декларативным способом, но сначала я хочу понять дескриптор параметра. Что подразумевается под create_constraint и name и что они делают? Английский не является моим естественным языком, и мои знания о базах данных ограничены, поэтому спасибо за любые подсказки.

ЧтоМне нужно что-то вроде:

query_status = Column(Boolean, default = False) # Hope the syntax for default value is correct.

Что бы это значило:

query_status = Column(Boolean, default = False, create_constraint=True, name='some_name')

1 Ответ

4 голосов
/ 03 июля 2011

query_status = Column(Boolean, default = False) # Надеюсь, синтаксис для значения по умолчанию правильный.

yep

create_constraint = Если логическое значение генерируется как int / smallintтакже создайте ограничение CHECK для таблицы , которое обеспечивает 1 или 0 в качестве значения

, которое применяется на уровне базы данных (DDL).Он создает check constraint, чтобы убедиться, что значение остается как int / smallint , если , оно генерируется как int / smallint в базе данных

the name аргумент - это имя для этого check constraint.

Ну, я просто перефразирую определение.Я надеюсь, что вы понимаете

...