Articles of orm

¿Qué tal tener un SingletonModel en Django?

Estoy haciendo un sitio web muy simple en Django. En una de las páginas hay una checkbox vertical. Necesito darle al cliente una forma de editar el contenido de la casilla de HTMLField como un campo HTMLField . La primera forma que se me ocurrió fue hacer un Ticker modelo que solo tendrá una instancia. […]

Sqlalchemy: actualización de la relación secundaria

Tengo dos tablas, digamos A y B. Ambas tienen una identificación de clave principal. Tienen una relación de muchos a muchos, SEC. SEC = Table(‘sec’, Base.metadata, Column(‘a_id’, Integer, ForeignKey(‘A.id’), primary_key=True, nullable=False), Column(‘b_id’, Integer, ForeignKey(‘B.id’), primary_key=True, nullable=False) ) class A(): … id = Column(Integer, primary_key=True) … rels = relationship(B, secondary=SEC) class B(): … id = Column(Integer, […]

¿Cómo puedo verificar los tipos de datos de columna en el ORM de SQLAlchemy?

Usando el ORM de SQLAlchemy, quiero asegurarme de que los valores sean del tipo correcto para sus columnas. Por ejemplo, digamos que tengo una columna Integer. Intento insertar el valor “hola”, que no es un entero válido. SQLAlchemy me permitirá hacer esto. Solo más tarde, cuando ejecuto session.commit() , sqlalchemy.exc.DataError: (DataError) invalid input syntax integer: […]

Atributo mongoengine creation_time en el documento

Estoy intentando agregar un atributo creation_time a mis documentos. El siguiente sería un ejemplo: import datetime class MyModel(mongoengine.Document): creation_date = mongo.DateTimeField() modified_date = mongo.DateTimeField(default=datetime.datetime.now) Los modelos de Django han incorporado un parámetro para sus objetos DateTimeField como add_now , etc., pero MongoEngine no admite esto. Me pregunto si la mejor manera de hacer esto es […]

¿Cómo usar Django 1.8.5 ORM sin crear un proyecto django?

He usado Django ORM para una de mis aplicaciones web y me siento muy cómodo con ella. Ahora tengo un nuevo requisito que necesita una base de datos pero nada más que ofrece Django. No quiero invertir más tiempo en aprender un ORM más como sqlalchemy. Creo que todavía puedo hacer from django.db import models […]

¿Algún motor Python OLAP / MDX ORM?

Soy nuevo en MDX / OLAP y me pregunto si hay algún ORM similar a Django ORM para Python que sea compatible con OLAP. Soy un desarrollador de Python / Django y si hubiera algo que tuviera algún nivel de integración con Django, estaría muy interesado en aprender más sobre él.

Iterando sobre objetos relacionados en Django: bucle sobre el conjunto de consultas o use un-liner select_related (o prefetch_related)

Tengo una aplicación de boletín donde un boletín tiene varios artículos dentro de cada número. Quiero mostrar una página de resumen en línea que enumera el año del boletín, el volumen y la etiqueta, y luego, en una lista desordenada, muestra todos los artículos del problema. Soy bastante nuevo en Django, así que estoy tratando […]

SQLAlchemy: selección de las columnas de un objeto en una consulta

¿Es posible controlar qué columnas se consultan en el método de consulta de SQLAlchemy, mientras se siguen devolviendo instancias del objeto que se está consultando (aunque esté parcialmente poblado)? ¿O es necesario que SQLAlchemy realice un SELECT * para asignarlo a un objeto? (Sé que la consulta de columnas individuales está disponible, pero no asigna […]

SQLAlchemy: motor, conexión y diferencia de sesión

Utilizo SQLAlchemy y hay al menos tres entidades: engine , session y connection , que tienen un método de execute , así que si, por ejemplo, quiero seleccionar todos los registros de la table , puedo hacer esto engine.execute(select([table])).fetchall() y esto connection.execute(select([table])).fetchall() e incluso esto session.execute(select([table])).fetchall() – Los resultados serán los mismos. Como lo entiendo, […]

Comparaciones encadenadas en SQLAlchemy

Python admite comparaciones encadenadas : 1 < 2 < 3 traduce a (1 < 2) and (2 < 3) . Estoy tratando de hacer una consulta SQL usando SQLAlchemy que se ve así: results = session.query(Couple).filter(10 < Couple.NumOfResults < 20).all() Los resultados que obtuve no fueron los esperados. He activado la palabra clave echo=True del […]