![](/img/trans.png)
[英]Flask-SQLAlchemy PostgreSQL get AttributeError: 'NoneType' object has no attribute 'drivername'
[英]Flask-SQLalchemy AttributeError: 'NoneType' object has no attribute ""
我正在尝试查询几个表,并使用 for 循环向查询添加过滤器。
new_list = []
query = {
"search_word": "Home",
"exact": False,
"tags": ["N"],
"next_words": [
{"pos": 1, "tags": ["verb"]},
{"pos": 2, "tags": ["anim"]}
]
}
if query["search_word"]:
if query["exact"]:
db_query = Cases.query.filter(Cases.gramatical_case == query["search_word"])
else:
db_query = Cases.query.filter(Cases.gramatical_case.ilike(f'%' + query["search_word"] + '%'))
for tag in query["tags"]:
db_query = db_query.filter(Cases.grammer.contains(tag))
for words in query["next_words"]:
tagging = words['tags'] # list of values
for rg in tagging:
db_query = db_query.filter(Cases.pos.contains(rg))
filter2=Case_Sentences.query.with_entities(Case_Sentences.st_id).filter_by(gc_id=db_query.first().gc_id).all()
for r in filter2:
new_list.append(r.st_id)
filter3 = Sentences.query.filter(Sentences.sn_id.in_(new_list)).paginate(per_page=12,page=page_num,error_out=False)
目标是,使用 for 循环添加过滤器来查询,最后调用它并获取所有内容。
我得到的错误:
filter2=Case_Sentences.query.with_entities(Case_Sentences.st_id).filter_by(gc_id=db_query.first().gc_id).all()
AttributeError: 'NoneType' object has no attribute 'gc_id'
为什么我会收到此错误消息,即使一切似乎都是正确的
问题出在:
for words in query["next_words"]:
tagging = words['tags'] # list of values
for rg in tagging:
db_query = db_query.filter(Cases.pos.contains(rg))
此查询返回 Empty Object 是有原因的,此处执行的查询是错误的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.