Tag: sqlalchemy

Динамически создавать и сохранять модели в Flask – Sqlalchemy

Я пишу флягу webapp. Мне нужно создать модель на основе пользовательского ввода и создать таблицу на основе модели. Кроме того, я также хочу иметь возможность использовать эту модель позже (после перезапуска веб-сервера). Какой был бы лучший способ сделать это? Я использую колбу с sqlalchemy для ORM.

Как создать индекс jsonb с помощью GIN на SQLAlchemy?

Вот текущий индекс создания кода для JSONB. Index("mytable_data_idx_id_key", Mytable.data['id'].astext, postgresql_using='gin') Но я получил эту ошибку. sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) data type text has no default operator class for access method "gin" HINT: You must specify an operator class for the index or define a default operator class for the data type. [SQL: "CREATE INDEX event_data_idx_id_key ON event […]

Флажок-SQLAlchemy упорядочиваемые отношения many-to-many в hybrid_property

Я пытаюсь получить первый объект из упорядоченного отношения «многие ко многим», используя Flask-SQLAlchemy. Я хотел бы выполнить это с использованием гибридных свойств, поэтому я могу использовать мой код в чистом виде. Вот код, с некоторым комментарием: class PrimaryModel2Comparator(Comparator): def __eq__(self, other): return self.__clause_element__().model2s.is_first(other) class model2s_comparator_factory(RelationshipProperty.Comparator): def is_first(self, other, **kwargs): return isinstance(other, Model2) & \ (db.session.execute(select([self.prop.table])).first().id […]

Обновление таблицы sqlalchemy фильтра с помощью схемы Marshmallow

Я разрабатываю api в Flask, используя Marshmallow для сериализации / десериализации / проверки и SQLAlchemy как моего ORM. В моих функциях обновления я хотел бы ограничить поля, которые могут быть обновлены, например, я не хочу, чтобы пользователи могли менять свою электронную почту на данный момент. Для этого я создал схему (UserSchema) с ее полями, ограниченными […]

Колба-Беспокойная order_by родственная модель

У меня эти две модели (определенные с помощью Flask-SQLAlchemy): class BankAccount(db.Model): id = db.Column(db.Integer, primary_key=True) customer_id = db.Column(db.Integer, db.ForeignKey('customer.id')) created_at = db.Column(db.DateTime) class Customer(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(128), index=True) У меня нет проблем с использованием конечной точки API-интерфейса Flask-Restless для BankAccount со следующими параметрами запроса: http://mywebsite.com/api/bank_account?q={"order_by":[{"field":"created_at","direction":"asc"}]} Тем не менее, я хотел бы […]

sqlalchemy: коммутатор с нулевым сравнением

Я просто наткнулся на такое поведение sqlalchemy: >>> from sqlalchemy import Column, null >>> print(Column("x") == null()) x IS NULL >>> print(Column("x") == None) x IS NULL >>> print(null() == Column("x")) NULL = x >>> print(None == Column("x")) x IS NULL Может ли кто-нибудь объяснить, почему == не является коммутативным для null() то время как […]

Фильтр наследования SQLAlchemy на всех столбцах

Поэтому я хочу выполнить фильтр во всех Columns моей модели базы данных, которая использует наследование таблицы. Я ни в коем случае не уверен, действительно ли это действительно возможно или нет. Для начала позвольте нам использовать тот же пример наследования из SQLAlchemy Doc, который слегка изменен. Здесь я опустил импорт. class Employee(Base): __tablename__ = 'employee' id […]

Ошибка подключения к SQL-серверу с помощью python

Я недавно установил Microsoft SQL Server 2014 на своем ПК, поскольку я хочу создать базу данных для создаваемого веб-приложения (я изучал Python в течение года и имел очень простой опыт работы с SQLite). После установки SQL Server 2014 и создания базы данных под названием «Пользователи» я просто пытаюсь запустить несколько базовых команд для моей базы […]

SQLAlchemy – обработка сбоев с ограничениями

С SQLAlchemy, если у меня есть уникальный столбец в моей базе данных, например, имя пользователя: username = db.Column(db.String(50), unique=True) Когда я добавляю строку, которая нарушает это ограничение, когда пользовательское имя, которое я пытаюсь добавить, уже существует, генерируется IntegrityError: IntegrityError: (IntegrityError) (1062, u"Duplicate entry 'test' for key 'username'") Возможно ли вместо этого перекрыть нарушение ограничения на […]

Сравнение типов столбцов SQLAlchemy

Я делаю много интроспекций базы данных для разных типов баз данных, и мне хотелось бы сравнить два типа столбцов. Например, поле, определяемое как Boolean тип с использованием declarative_base() , затем преобразуется в конкретный TINYINT для диалогово-цифрового обмена MySQL , поэтому проверка выполняется так: model_a.__table__.columns['col'].type == model_b.__table__.columns['col'].type не работает, и ни одно: (type_a == type_b) or […]

Python - лучший язык программирования в мире.