Pregunta

Quiero usar el decorador @after_insert de Elixir, pero no puedo acceder a la sesión dentro del modelo. Ya que he Autocommit establece en false, no puedo confirmar ningún cambio en el controlador de eventos. ¿Hay mejores prácticas de cómo lidiar con eso?

El Código he utilizado para construir el modelo, la conexión de base de datos etc., están mayormente retirado la documentación.

El método deseado:

class Artefact(Entity):
[...]
    @after_insert
    def make_signature(self):
        self.signature = '%s-%s' % (self.artefact_type.title.upper()[:3], self.id)

Toda la inicialización de sesión se realiza en el init .py en el mismo directorio.

Cuando entonces yo llamo:

Session.update(self)
Session.commit()

Me aparece un error que la sesión no está definido. Alguna idea?

¿Fue útil?

Solución

¿Ha importado Sesión?

from packagename import Session

en la parte superior de su archivo modelo debe hacer el truco. Nombrepaquete es el nombre del directorio.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top