Closed andrejberg closed 5 years ago
Gratulation, du hast den Sinn eines pull request mit checkliste gefunden :P
Deshalb war das ja nen extra branch das man Dinge testet bevor man es merged. Hab nie getestet ob es mit deinem API geht. Dachte das hast du vor dem merge gemacht...
172 tags = [and_(Main.keywords.any(name=tag), Main.keywords.any(value=None)) for tag in tags]
Entweder: keywords
-> keywords_query
172 tags = [and_(Main.keywords_query.any(name=tag), Main.keywords_query.any(value=None)) for tag in tags]
oder
172 tags = [keyword for keyword in Main.keywords if keyword.value == 'None']
Main.keywords
ist schon aufgeloest, dh du hast schon eine Liste und keinen query
das problem ist in
df = pd.read_sql(q.statement, s.bind, index_col="id")
Der rest wird garnicht ausgeführt wenn man die funktion ohne optionen ausführt.
Hast du mal gecheckt ob der Fehler auch noch vor dem merge commit kommt?
Also ist das Problem von pandas die Änderung im databaseModel?
Sollte ja eigentlich nicht. Pandas greift doch garnicht auf unser Model zu sondern mit read_sql direkt auf die Tables.
Ah ok, gerade gesehen du nutzt doch unser database model...
Das problem ist, dass pandas nicht mehr mit dem Model zurecht kommt. Das einzige was da aufgerufen wird ist:
s = openDatabase(db_path)
q = s.query(Main)
df = pd.read_sql(q.statement, s.bind, index_col="id")
Ich habe noch nicht getested ob es weg ist wenn man die DB neu aufsetzt.
Sollte nichts ändern! Habe nur etwas an der View von sqlalchemy geändert! Habe ja keine neue Spalte zur Tabelle zugefügt.
musste .options(noload(Main.keywords))
adden, sonst hat er die Keywords gleich mit aufgefüllt und pandas hat zu komplexe Daten bekommen
Danke!
Kein Plan wo das genau herkommt aber pandas geht nicht mehr seit dem merge request.
table = get_entry_table(db_path)
kann ich zwar aufrufen aber nicht anzeigen. Es kommt einValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
Der index der pandas DataFrame sieht auch irgendwie merkwürdig aus.
@king-michael Hast du ne idee?