Also ich bin ein Kolben/sqlalchemy Neuling, aber das scheint wie es sollte ziemlich einfach sein. Doch für das Leben von mir kann ich es nicht zur Arbeit bringen und ich kann keine Dokumentation dafür online finden. Ich habe eine etwas komplexe Abfrage ausgeführt, die mir eine Liste von Datenbankobjekten zurückgibt.Wie aktualisiert Objekt zurückgegeben in Abfrage
nachdem ich diese Liste der Elemente, die ich durch die Liste durchlaufen möchten, und für jedes Element aktualisieren einige Eigenschaft auf es.
for it in items:
it.some_property = 'xyz'
db.session.commit()
jedoch, was passiert ist, dass ich einen Fehler bekommen
it.some_property = 'xyz'
AttributeError: 'result' object has no attribute 'some_property'
ich bin nicht verrückt. Ich bin sicher, dass die Eigenschaft auf Modell X existiert, das von db.Model abgeleitet ist. Etwas an der Abfrage verhindert, dass ich auf die Attribute zugreife, obwohl ich deutlich erkenne, dass sie im Debugger vorhanden sind. Jede Hilfe wäre willkommen.
class X(db.Model):
x_id = db.Column(db.Integer, primary_key=True)
size = db.Column(db.Integer, nullable=False)
oords = db.relationship('Oords', lazy=True, backref=db.backref('x', lazy='joined'))
def __init__(self, capacity):
self.size = size
Das war genau das, was ich gesucht habe. Vielen Dank. – dcole2929
Das Überschreiben der Klassenvariablen mit den Instanzen in der for-Schleife wurde korrigiert. Ein Überbleibsel vom ersten Gedanken daran, 'it.X' zu schreiben, aber dann mit dem Auspacken. –