diff --git a/src/context/service/database/Device.py b/src/context/service/database/Device.py index d816d3c5f06410bdaef9b4d698666c06bc5aa0ac..9897aa0af257fe12fb51514a0418f8a8433629f0 100644 --- a/src/context/service/database/Device.py +++ b/src/context/service/database/Device.py @@ -195,12 +195,15 @@ def device_set(db_engine : Engine, messagebroker : MessageBroker, request : Devi stmt = stmt.returning(TopologyDeviceModel.topology_uuid) topology_uuids = session.execute(stmt).fetchall() - LOGGER.warning('topology_uuids={:s}'.format(str(topology_uuids))) + LOGGER.warning('RAW topology_uuids={:s}'.format(str(topology_uuids))) if len(topology_uuids) > 0: + topology_uuids = [topology_uuid[0] for topology_uuid in topology_uuids] + LOGGER.warning('NEW topology_uuids={:s}'.format(str(topology_uuids))) query = session.query(TopologyModel) query = query.filter(TopologyModel.topology_uuid.in_(topology_uuids)) device_topologies : List[TopologyModel] = query.all() device_topology_ids = [obj.dump_id() for obj in device_topologies] + LOGGER.warning('device_topology_ids={:s}'.format(str(device_topology_ids))) else: device_topology_ids = [] diff --git a/src/context/service/database/models/TopologyModel.py b/src/context/service/database/models/TopologyModel.py index 01bb14f4db8e7245ceb8230946d6516183bf8f1f..68d97edf36ee42c04948cc6782b86bce028cb76a 100644 --- a/src/context/service/database/models/TopologyModel.py +++ b/src/context/service/database/models/TopologyModel.py @@ -67,7 +67,7 @@ class TopologyDeviceModel(_Base): topology_uuid = Column(ForeignKey('topology.topology_uuid', ondelete='RESTRICT'), primary_key=True, index=True) device_uuid = Column(ForeignKey('device.device_uuid', ondelete='CASCADE' ), primary_key=True, index=True) - topology = relationship('TopologyModel', lazy='selectin') # back_populates='topology_devices' + topology = relationship('TopologyModel', lazy='selectin', viewonly=True) # back_populates='topology_devices' device = relationship('DeviceModel', lazy='selectin') # back_populates='topology_devices' class TopologyLinkModel(_Base): @@ -76,5 +76,5 @@ class TopologyLinkModel(_Base): topology_uuid = Column(ForeignKey('topology.topology_uuid', ondelete='RESTRICT'), primary_key=True, index=True) link_uuid = Column(ForeignKey('link.link_uuid', ondelete='CASCADE' ), primary_key=True, index=True) - topology = relationship('TopologyModel', lazy='selectin') # back_populates='topology_links' + topology = relationship('TopologyModel', lazy='selectin', viewonly=True) # back_populates='topology_links' link = relationship('LinkModel', lazy='selectin') # back_populates='topology_links'