fixing session in listener

This commit is contained in:
Cayo Puigdefabregas 2021-10-26 16:21:05 +02:00
parent 7d7b948f8b
commit 5861d2fd6f
1 changed files with 22 additions and 9 deletions

View File

@ -1167,14 +1167,27 @@ class Manufacturer(db.Model):
listener_reset_field_updated_in_actual_time(Device)
# def create_code_tag(mapper, connection, device):
# """
# This function create a new tag every time than one device is create.
# this tag is the same of devicehub_id.
# """
# from ereuse_devicehub.resources.tag.model import Tag
# tag = Tag(device_id=device.id, id=device.devicehub_id)
# import pdb; pdb.set_trace()
# db.session.add(tag)
# event.listen(Device, 'after_insert', create_code_tag, propagate=True)
@event.listens_for(Device, 'after_insert')
def create_code_tag(mapper, connection, device):
"""
This function create a new tag every time than one device is create.
this tag is the same of devicehub_id.
"""
from ereuse_devicehub.resources.tag.model import Tag
tag = Tag(device_id=device.id, id=device.devicehub_id)
db.session.add(tag)
print(device.devicehub_id)
event.listen(Device, 'after_insert', create_code_tag, propagate=True)
@event.listens_for(Session, 'after_flush', one=True)
def create_code_tag_after_fush(session, context):
from ereuse_devicehub.resources.tag.model import Tag
tag = Tag(device_id=device.id, id=device.devicehub_id)
# import pdb; pdb.set_trace()
session.add(tag)