Elixir не создает мои таблицы со значениями по умолчанию - PullRequest
1 голос
/ 16 ноября 2009
class MyObject(Entity):
    name = Field(Unicode(256), default=u'default name', nullable=False)

    using_options(shortnames=True)
    using_mapper_options(save_on_init=False)

    def __init__(self):
        self.name = None  

Я использую MySQL в этом случае, но также проверил по SQLite, и я получил тот же результат. Он уважает nullable, но полностью игнорирует default. Я не получаю никаких сообщений об ошибках, и он просто создает таблицы. Я мог бы вернуться и добавить значения по умолчанию, но это серьезная боль, которую я хотел бы избежать, если это возможно.

Я пробовал это с другими типами полей, но все равно не радости.

1 Ответ

2 голосов
/ 16 ноября 2009

default Аргумент ключевого слова в SQLAlchemy для значения по умолчанию среды выполнения Python, он используется для операторов INSERT. Используйте PassiveDefault() объект в качестве позиционного аргумента, когда вам действительно нужен уровень базы данных по умолчанию.

...