From cb183926b85743621248e56bb2eeba10404f07a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20Gru=CC=88ndger?= Date: Sat, 30 Dec 2017 10:52:47 +0100 Subject: [PATCH] Consistent relations and backrefs --- ogn/backend/liveglidernet.py | 4 ++-- ogn/model/aircraft_beacon.py | 4 ++-- ogn/model/airport.py | 3 --- ogn/model/device.py | 4 ---- ogn/model/device_info.py | 1 + ogn/model/device_stats.py | 2 +- ogn/model/receiver.py | 4 ---- ogn/model/receiver_beacon.py | 2 +- ogn/model/receiver_stats.py | 2 +- ogn/model/takeoff_landing.py | 4 ++-- 10 files changed, 10 insertions(+), 20 deletions(-) diff --git a/ogn/backend/liveglidernet.py b/ogn/backend/liveglidernet.py index 1b14481..3bff4b5 100644 --- a/ogn/backend/liveglidernet.py +++ b/ogn/backend/liveglidernet.py @@ -59,8 +59,8 @@ def lxml(session, show_offline=False, lat_max=90, lat_min=-90, lon_max=180, lon_ for [aircraft_beacon, device] in position_query.all(): code = encode(device.address) - if len(device.informations) > 0: - device_info = device.informations[0] + if len(device.infos) > 0: + device_info = device.infos[0] if device_info and (not device_info.tracked or not device_info.identified): continue diff --git a/ogn/model/aircraft_beacon.py b/ogn/model/aircraft_beacon.py index ef578c2..0929193 100644 --- a/ogn/model/aircraft_beacon.py +++ b/ogn/model/aircraft_beacon.py @@ -43,10 +43,10 @@ class AircraftBeacon(Beacon): # Relations receiver_id = Column(Integer, ForeignKey('receiver.id', ondelete='SET NULL')) - receiver = relationship('Receiver', foreign_keys=[receiver_id]) + receiver = relationship('Receiver', foreign_keys=[receiver_id], backref='aircraft_beacons') device_id = Column(Integer, ForeignKey('device.id', ondelete='SET NULL')) - device = relationship('Device', foreign_keys=[device_id]) + device = relationship('Device', foreign_keys=[device_id], backref='aircraft_beacons') # Multi-column indices Index('ix_aircraft_beacon_receiver_id_receiver_name', 'receiver_id', 'receiver_name') diff --git a/ogn/model/airport.py b/ogn/model/airport.py index bd5ebe0..eba7862 100644 --- a/ogn/model/airport.py +++ b/ogn/model/airport.py @@ -22,9 +22,6 @@ class Airport(Base): runway_length = Column(Integer) frequency = Column(Float) - # Relations - takeoff_landings = relationship('TakeoffLanding') - def __repr__(self): return "" % ( self.name, diff --git a/ogn/model/device.py b/ogn/model/device.py index b12825e..7f0e398 100644 --- a/ogn/model/device.py +++ b/ogn/model/device.py @@ -17,10 +17,6 @@ class Device(Base): hardware_version = Column(SmallInteger) real_address = Column(String(6)) - # Relations - aircraft_beacons = relationship('AircraftBeacon') - informations = relationship('DeviceInfo', backref="device") - def __repr__(self): return "" % ( self.address, diff --git a/ogn/model/device_info.py b/ogn/model/device_info.py index 95ad4af..c3ab905 100644 --- a/ogn/model/device_info.py +++ b/ogn/model/device_info.py @@ -21,6 +21,7 @@ class DeviceInfo(Base): # Relations device_id = Column(Integer, ForeignKey('device.id', ondelete='SET NULL'), index=True) + device = relationship('Device', foreign_keys=[device_id], backref='infos') def __repr__(self): return "" % ( diff --git a/ogn/model/device_stats.py b/ogn/model/device_stats.py index a2e6849..8e10a91 100644 --- a/ogn/model/device_stats.py +++ b/ogn/model/device_stats.py @@ -16,7 +16,7 @@ class DeviceStats(Base): # Relations device_id = Column(Integer, ForeignKey('device.id', ondelete='SET NULL'), index=True) - device = relationship('Device', foreign_keys=[device_id]) + device = relationship('Device', foreign_keys=[device_id], backref='stats') def __repr__(self): return "" % ( diff --git a/ogn/model/receiver.py b/ogn/model/receiver.py index 103f36a..c18f05e 100644 --- a/ogn/model/receiver.py +++ b/ogn/model/receiver.py @@ -22,10 +22,6 @@ class Receiver(Base): version = Column(String) platform = Column(String) - # Relations - aircraft_beacons = relationship('AircraftBeacon') - receiver_beacons = relationship('ReceiverBeacon') - @property def location(self): if self.location_wkt is None: diff --git a/ogn/model/receiver_beacon.py b/ogn/model/receiver_beacon.py index f9a51e2..60ec289 100644 --- a/ogn/model/receiver_beacon.py +++ b/ogn/model/receiver_beacon.py @@ -35,7 +35,7 @@ class ReceiverBeacon(Beacon): # Relations receiver_id = Column(Integer, ForeignKey('receiver.id', ondelete='SET NULL')) - receiver = relationship('Receiver', foreign_keys=[receiver_id]) + receiver = relationship('Receiver', foreign_keys=[receiver_id], backref='receiver_beacons') # Multi-column indices Index('ix_receiver_beacon_receiver_id_name', 'receiver_id', 'name') diff --git a/ogn/model/receiver_stats.py b/ogn/model/receiver_stats.py index d24e311..f900927 100644 --- a/ogn/model/receiver_stats.py +++ b/ogn/model/receiver_stats.py @@ -17,4 +17,4 @@ class ReceiverStats(Base): # Relations receiver_id = Column(Integer, ForeignKey('receiver.id', ondelete='SET NULL'), index=True) - receiver = relationship('Receiver', foreign_keys=[receiver_id]) + receiver = relationship('Receiver', foreign_keys=[receiver_id], backref='stats') diff --git a/ogn/model/takeoff_landing.py b/ogn/model/takeoff_landing.py index 2b0d595..2a6cc3f 100644 --- a/ogn/model/takeoff_landing.py +++ b/ogn/model/takeoff_landing.py @@ -15,7 +15,7 @@ class TakeoffLanding(Base): # Relations airport_id = Column(Integer, ForeignKey('airport.id', ondelete='SET NULL'), index=True) - airport = relationship('Airport', foreign_keys=[airport_id]) + airport = relationship('Airport', foreign_keys=[airport_id], backref='takeoff_landings') device_id = Column(Integer, ForeignKey('device.id', ondelete='SET NULL'), index=True) - device = relationship('Device', foreign_keys=[device_id]) + device = relationship('Device', foreign_keys=[device_id], backref='takeoff_landings')