ArgumentError: relation erwartet ein Klassen- oder Mapper-Argument

Ich erhalte diesen seltsamen Fehler und sage seltsam, weil ich eine Änderung an einer nicht verwandten Tabelle vorgenommen habe.

Ich versuche meine abzufragentDevice Tabelle die so aussieht:

class TDevice(Base):
    __tablename__ = 'tDevice'

    ixDevice = Column(Integer, primary_key=True)
    ixDeviceType = Column(Integer, ForeignKey('tDeviceType.ixDeviceType'), nullable=False)
    ixSubStation = Column(Integer, ForeignKey('tSubStation.ixSubStation'), nullable=False)
    ixModel = Column(Integer, ForeignKey('tModel.ixModel'), nullable=True)
    ixParentDevice = Column(Integer, ForeignKey('tDevice.ixDevice'), nullable=True)
    sDeviceName = Column(Unicode(255), nullable=False)#added

    children = relationship('TDevice',
                        backref=backref('parent', remote_side=[ixDevice]))

    device_type = relationship('TDeviceType',
                           backref=backref('devices'))

    model = relationship('TModel',
                     backref=backref('devices'))

    sub_station = relationship('TSubStation',
                           backref=backref('devices'))

und so frage ich es ab:

Device = DBSession.query(TDevice).filter(TDevice.ixDevice == device_id).one()

Sobald diese Zeile ausgeführt wird, erhalte ich den Fehler:

ArgumentError: relationship 'report_type' expects a class or a mapper argument (received: <class 'sqlalchemy.sql.schema.Table'>)

Die einzigen Änderungen, die ich vorgenommen habe, sind das Hinzufügen einer Beziehung vom Typ "report_type" in "my"tReportTable was jetzt so aussieht:

class TReport(Base):
__tablename__ = 'tReport'

ixReport = Column(Integer, primary_key=True)
ixDevice = Column(Integer, ForeignKey('tDevice.ixDevice'), nullable=False)
ixJob = Column(Integer, ForeignKey('tJob.ixJob'), nullable=False)
ixReportType = Column(Integer, ForeignKey('tReportType.ixReportType'), nullable=False) # added

report_type = relationship('tReportType',
                           uselist=False,
                           backref=backref('report'))

device = relationship('TDevice',
                      uselist=False,
                      backref=backref('report'))

job = relationship('TJob',
                   uselist=False,
                   backref=backref('report'))

Ich bin noch neu in SqlAlchemy, daher kann ich nicht erkennen, wie das Hinzufügen dieser Beziehung diesen Fehler verursachen sollte, wenn ich eine andere Tabelle durchlaufe

Antworten auf die Frage(1)

Ihre Antwort auf die Frage