order_by - SQLAlchemy permite nulo como ForeignKey
sqlalchemy relationship example (2)
null no es válido para una fila secundaria. Como alternativa, cree un padre que solo se use para hijos "nulos" y establezca la clave para esa identificación. Realmente no entiendo el propósito de esto ya que no quieres registros huérfanos. Si la relación no es realmente de 1 a muchos con una relación padre-hijo, entonces debería considerar un tipo de relación diferente o tal vez agregar un campo para hacer que los registros secundarios estén inactivos.
Digamos que tengo dos modelos
class EntityModel(DB.Model):
id = DB.Column(DB.Unicode(37), primary_key=True)
class DocumentModel(DB.Model):
id = DB.Column(DB.Unicode(37), primary_key=True)
entity_id = DB.Column(DB.Unicode(37), DB.ForeignKey(''entity.id'', ondelete=''cascade''), nullable=True)
entity = DB.relationship(''EntityModel'')
Puedo crear un nuevo documento con entity_id NULL. Pero una vez que establezco valid_id para ese documento, ya no puedo volver a anularlo. Me sale un error:
Cannot add or update a child row: a foreign key constraint fails
¿Cómo puedo establecer null en entity_id en algún documento, si tiene entity_id válido?
su definición de ORM se ve bien, DocumentModel.entity_id es nulable de hecho. Lo que haría en este caso es verificar la definición real de la tabla en MySQL y asegurarse de que se corresponda con su definición ORM, por ej.
-- make sure DocumentModel.entity_id is nullable :
SHOW CREATE TABLE DocumentModel/G
UPDATE DocumentModel.entity_id SET entity_id = NULL WHERE entity_id = XXX;