Articles of flask sqlalchemy

sqlalchemy múltiples claves foráneas a la misma tabla

Tengo una base de datos postgres que se parece a esto: Table “public.entities” Column | Type | Modifiers —————+—————————–+———————————————— id | bigint | not null default nextval(‘guid_seq’::regclass) type_id | smallint | not null name | character varying | Indexes: “entities_pkey” PRIMARY KEY, btree (id) Foreign-key constraints: “entities_parent_id_fkey” FOREIGN KEY (parent_id) REFERENCES entities(id) “entities_type_id_fkey” FOREIGN KEY […]

¿Por qué SQLAlchemy no traduce este objeto generado por un FactoryFoy SubFactory a una clave externa?

Estoy usando Flask y SQLAlchemy (a través de la extensión Flask-SQLAlchemy) junto con Factory_Boy . Mi modelo GearItem tiene una clave externa para GearCategory . Factory_Boy maneja esto a través de la función SubFactory que crea el objeto que se usará como clave externa en la fábrica original. Aquí están mis definiciones de modelo: class […]

¿Cómo select_related () en Flask / SQLAlchemy?

Teniendo los siguientes modelos: class Question(db.Model): id = db.Column(db.Integer(), primary_key=True) title = db.Column(db.String(125)) text = db.Column(db.Text()) answers = db.relationship(‘Answer’, backref=’for_question’) class Answer(db.Model): id = db.Column(db.Integer(), primary_key=True) text = db.Column(db.Text()) question_id = db.Column(db.Integer(), db.ForeignKey(‘question.id’)) ¿Cómo puedo realizar select_related en SQLAlchemy / Flask? He encontrado en la documentación que puedo hacer algo como session.query(Question).options(joinedload(Question.aswers)) Pero primero necesito […]

Confirmar una transacción desde una función de PostgreSQL en el matraz

Soy un novato en Flask y SQLAlchemy (he estado trabajando con Django durante los últimos 3 años). Necesito llamar a una función PostgreSQL existente que escribe en 3 tablas diferentes en una base de datos. Esto está fuera de mi control (solo tengo que hacerlo funcionar). La función devuelve un registro (tipo Postgres personalizado) con […]

¿Cómo establecer una relación de uno a muchos y de uno a uno al mismo tiempo en Flask-SQLAlchemy?

Estoy intentando crear una relación uno a uno y uno a muchos al mismo tiempo en Flask-SQLAlchemy. Quiero lograr esto: “Un grupo tiene muchos miembros y un administrador”. Aquí esta lo que hice: class Group(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(140), index=True, unique=True) description = db.Column(db.Text) created_at = db.Column(db.DateTime, server_default=db.func.now()) members = db.relationship(‘User’, backref=’group’) […]

No se pudo ensamblar ninguna columna de clave primaria para la tabla asignada

Cuando estoy tratando de crear una migración de esquema de base de datos, estoy recibiendo este error extraño. ¿Puedes ayudarme, por favor, a descubrir qué está mal? $ python app.py db upgrade [skipped] sqlalchemy.exc.ArgumentError: Mapper Mapper|EssayStateAssociations|essay_associations could not assemble any primary key columns for mapped table ‘essay_associations’ Mi modelo: class EssayStateAssociations(db.Model): __tablename__ = ‘essay_associations’ application_essay_id […]

Flask y SQLAlchemy, aplicación no registrada en la instancia

Actualmente estoy tratando de armar una pequeña aplicación Frask. Esta es mi estructura. run.py application __init__.py database.py models.py views.py database.py contiene solo el objeto SQLAlchemy: db = SQLAlchemy() Luego importo esto en mi models.py para crear mis modelos. Por último, dentro de __init__.py importo db de database.py y hago: from .database import db from flask […]

¿Puedo inspeccionar un objeto de consulta sqlalchemy para encontrar las tablas ya unidas?

Estoy intentando crear una consulta de búsqueda mediante progtwigción y, para hacerlo, me uno a una tabla. class User(db.Model): id = db.Column(db.Integer(), primary_key=True) class Tag(db.Model): id = db.Column(db.Integer(), primary_key=True) user_id = db.Column(db.Integer(), db.ForeignKey(‘user.id’)) title = db.Column(db.String(128)) description = db.Column(db.String(128)) Este es un poco de un ejemplo artificial, espero que tenga sentido. Decir que mi función […]

Flask-SQLAlchemy: ¿cómo funcionan las sesiones con varias bases de datos?

Estoy trabajando en un proyecto de Flask y estoy usando Flask-SQLAlchemy. Necesito trabajar con múltiples bases de datos ya existentes. Creé el objeto “app” y el SQLAlchemy: from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) db = SQLAlchemy(app) En la configuración, establezco la conexión predeterminada y los enlaces adicionales: SQLALCHEMY_DATABASE_URI = ‘postgresql://pg_user:pg_pwd@pg_server/pg_db’ […]

SQLAlchemy – Relación auto-referencial de muchos a muchos con una columna extra

Tengo un modelo que representa al usuario y quiero crear una relación entre los usuarios que representan que son amigos. Mi modelo funcional con tabla de asociación y métodos para enumerar a todos los amigos se ven así. friendship = db.Table(‘friend’, db.Column(‘id’, db.Integer, primary_key=True), db.Column(‘fk_user_from’, db.Integer, db.ForeignKey(‘user.id’), nullable=False), db.Column(‘fk_user_to’, db.Integer, db.ForeignKey(‘user.id’), nullable=False) ) class User(db.Model): […]