query instalar python database-design sqlalchemy

python - instalar - sqlalchemy query



SQLAlchemy y columnas vacĂ­as (2)

Cuando trato de insertar un nuevo registro en la base de datos usando SQLAlchemy y no completo todos los valores, intenta insertarlos como "Ninguno" (en lugar de omitirlos). Luego se queja de los errores "no puede ser nulo". ¿Hay alguna forma de que omita columnas de la consulta sql si también las omití al declarar la instancia?


Este es un problema de esquema de base de datos, no un problema de SQLAlchemy. Si su esquema de base de datos tiene una columna que no puede ser NULL, debe poner algo (es decir, no ninguno) ahí. O cambie su esquema para permitir NULL en esas columnas.

Wikipedia tiene un artículo sobre NULL y un artículo que describe restricciones no NULL


Para agregar a la respuesta de Ali A, esto significa que debe tener nullable=True en la definición de su columna, para que NULL esté permitido en la columna. Por ejemplo:

email_address = Column(String, nullable=True)

SQLAlchemy documenta para tablas y columnas , extracto del documento v1.2:

nullable: cuando se establece en False, provocará que se agregue la frase "NOT NULL" al generar DDL para la columna. Cuando es True, normalmente no generará nada (en SQL esto es por defecto "NULL"), excepto en algunos casos de borde específicos del back-end específicos donde "NULL" puede representarse explícitamente. El valor predeterminado es True a menos que primary_key también sea True, en cuyo caso por defecto es False. Este parámetro solo se usa al emitir instrucciones CREATE TABLE.