Vấn đề được đề cập trong chuỗi sự cố github - https://github.com / flask-admin / flask-admin / Problem / 1588
Về cơ bản, flask-admin
gói pip đã lỗi thời, liên quan đến sqlalchemy
mới nhất gói pip. Trong khu vực cụ thể đó,
cls, key = identity_key(instance=obj)
sqlalchemy
hiện đang trả về 3 đối tượng, nhưng flask-admin
chỉ mong đợi 2, do đó lỗi.
thực tế giải pháp cho điều này là đợi cho đến khi có flask-admin
mới phiên bản được tải lên pip, cho đến lúc đó, bạn có một vài tùy chọn.
- Thủ công vào và chỉnh sửa
fields.py
tệp - Như đã nêu chi tiết trong chuỗi vấn đề đó, hãy giới hạn
sqlalchemy
sang phiên bản1.2.0b3
. Bạn có thể thực hiện việc này trong tệp tin request.txt của mình hoặc theo cách thủ công với cài đặt nâng cấp pip,pip install --upgrade sqlalchemy==1.2.0b3
- Vì bản sửa lỗi nằm trong
flask-admin
nhánh chính của họ trong kho lưu trữ github của họ, hãy cài đặt phiên bản đó củaflask-admin
với vị trí pip làgit+https://github.com/flask-admin/flask-admin
. Một lần nữa, bạn thực hiện việc này trong tệp tin request.txt của mình hoặc với bản cài đặt nâng cấp pip,pip install --upgrade git+https://github.com/flask-admin/flask-admin
.
Sở thích cá nhân của tôi, và những gì tôi đã làm, là tùy chọn 3. Nếu bạn xem qua bản thân mã, dù sao thì đó cũng là một dòng mà người bảo trì muốn loại bỏ, và cách họ xử lý nó tốt hơn, và nói chung với những mọi thứ, tôi muốn tiếp tục (phiên bản mới nhất của flask-admin
) thay vì giữ mọi thứ lại (khôi phục sqlalchemy
sang phiên bản trước) và chắc chắn tốt hơn so với việc chỉnh sửa mã thô theo cách thủ công.