Problém je popsán ve vláknu problémů s githubem - https://github.com /flask-admin/flask-admin/issues/1588
V podstatě flask-admin
balíček pip je zastaralý, pokud jde o nejnovější sqlalchemy
pip balíček. V této konkrétní oblasti
cls, key = identity_key(instance=obj)
sqlalchemy
nyní vrací 3 objekty, ale flask-admin
očekává pouze 2, proto došlo k chybě.
skutečný řešením je počkat na nový flask-admin
verze je nahrána do pipu, do té doby máte několik možností.
- Ručně jděte dovnitř a upravte
fields.py
soubor - Jak je podrobně popsáno v tomto vláknu problémů, limit
sqlalchemy
na verzi1.2.0b3
. Můžete to udělat v souboru requirements.txt nebo ručně pomocí instalace upgradu pip,pip install --upgrade sqlalchemy==1.2.0b3
- Oprava je v
flask-admin
hlavní větev uživatele v jejich úložišti github, nainstalujte tuto verziflask-admin
s umístěním pipugit+https://github.com/flask-admin/flask-admin
. Opět to provedete ve svém souboru requirements.txt nebo s instalací upgradu pip,pip install --upgrade git+https://github.com/flask-admin/flask-admin
.
Moje osobní preference a to, co jsem udělal, je možnost 3. Pokud se podíváte na samotný kód, je to řádek, který správci chtějí každopádně odstranit, a jak se s tím vypořádávají, je lepší, a obecně s těmito věci, raději pokračuji (nejnovější verze flask-admin
) spíše než zadržování věcí (rollback sqlalchemy
na předchozí verzi) a rozhodně lepší než ruční úprava surového kódu.