原因-属性动态加载
https://stackoverflow.com/questions/39099117/pycharm-sqlalchemy-autocomplete-not-working
def _include_sqlalchemy(obj):
for module in sqlalchemy, sqlalchemy.orm:
for key in module.__all__:
if not hasattr(obj, key):
setattr(obj, key, getattr(module, key))
因此使用Model.query时,会动态增添query属性,这也就使得pycharm没有提示
解决方案-固定增添Query属性
class Aa(db.Model):
query: db.Query = db.session.query_property() # 这里新增query属性
__tablename__ = 'aa'
name = db.Column(db.String)
age = db.Column(db.Integer)
uuid = db.Column(db.Integer, primary_key=True, server_default=db.FetchedValue())
可以看到,pycharm存在提示了