and_无效
谁能帮助我。我是新来的烧瓶
test.py
from flask import session,Flask,render_template,request
from models import *
import os
app = Flask(__name__)
app.config["SQLALCHEMY_DATABASE_URI"] = os.getenv("DATABASE_URL")
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
db.init_app(app)
@app.route('/')
def index():
query= book.query.filter(and_ (book.title=='we all lost',book.publication_year==2050)).all()
for i in query:
print(i.title)
return render_template('hellotesting.html',m=query)
hellotesting.html
<html>
<head></head>
<body>
<ol>
<li>{{m.title}} </li>
<li>{{m.author}} </li>
<li>{{m.publication_year}}</li>
</ol>
</body>
</html>
错误 NameError NameError:名称“ and_”未定义
我不知道为什么它不起作用
答案 0 :(得分:0)
您需要先导入它,然后才能使用它
from sqlalchemy import and_
然后
query = book.query.filter(and_(book.title=='we all lost',book.publication_year==2050)).all()
也要在hellotesting.html文件中尝试显示queryset属性(类似于模型实例列表),而不是特定对象,这将引发异常。在调用属性之前,必须从queryset中的函数或模板中获取任何对象。
在功能上您可以执行类似的操作
query = book.query.filter(and_(book.title=='we all lost',book.publication_year==2050)).first()
或
book = query[0]
然后将该对象放入render_template函数,或者您可以在模板中执行类似的操作
{{ m[0].title }}
阅读文档以获取更多示例和说明