Hier ist der Code in FrageSet Beziehung Attribute Keine nach Sitzung in SQLAlchemy geschlossen ist
class Country(ModelBase):
__tablename__ = "countries"
code = Column(String(64), nullable=False)
display_name = Column(String(64), nullable=False)
class State(ModelBase):
__tablename__ = "states"
code = Column(String(64), nullable=False)
display_name = Column(String(64), nullable=False)
country_id = Column(Integer, ForeignKey(Country.id), nullable=False)
country = relationship(Country)
Ich möchte eine Instanz von Staat konvertieren JSon und während Land (Verhältnis in State-Klasse) Umwandlung sollte nur umgewandelt werden wenn es geladen ist, sollte es sonst keiner sein.
Wenn ich versuche, dies zu json zu konvertieren, wünsche ich nur diese Beziehung überprüfen geladen werden oder nicht
if state.country is None: # Or some other way of checking
Es wirft Ausnahme sqlalchemy.orm.exc.DetachedInstanceError. Ist es möglich, None (oder prüfen, ob das Attribut bereits geladen ist oder nicht) für dieses Attribut anstelle der Ausnahme zu erhalten. Ich möchte es nicht lazy laden, wenn die Sitzung geschlossen ist (Wenn ich es laden wollte, hätte ich vor dem Schließen der Sitzung geladen).