SQLAlchemy ForeignKey Relationship - Update

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
blubbersuelze
User
Beiträge: 20
Registriert: Samstag 11. Juli 2015, 17:54

Hallo,
ich habe folgendes Problem.
Wenn ich mittels SQLAlchemy ein Update auf eine Row in der Tabelle Channel mache und dabei die "transponder_id" ändere hätte ich erwartet das die Relation sich zu dem entsprechenden Transponder ändert. Dies passiert allerdings nicht.
Es passiert nur wenn ich beim Update die Spalte "transponder" anpassen.
Weiß jemand wie ich das entsprechend zum laufen bekomme, das bei Änderung der "transponder_id" die Relation entsprechend angepasst wird?

Hier das Datenbankmodel:

Code: Alles auswählen

class Channel(Base):
    __tablename__ = 'channel'
    id = Column(Int64, primary_key=True)
    name = Column(Unicode(256, convert_unicode=False), nullable=False)
    transponder_id = Column(Int64, ForeignKey('transponder.id'), nullable=False)
    transponder = relationship('Transponder', backref=backref('channels'))
    
class Transponder(Base):
    __tablename__ = 'transponder'
    id = Column(Int64, primary_key=True)
    name = Column(Unicode(256, convert_unicode=False), nullable=False)

Antworten