Python SQLAlchemy filter by date即使日期存在也不返回任何值

Python SQLAlchemy filter by date即使日期存在也不返回任何值,python,flask,sqlalchemy,flask-sqlalchemy,Python,Flask,Sqlalchemy,Flask Sqlalchemy,我正在为我的类编写Python代码,我正在尝试检查SQL数据库中是否已经存在某些内容,因为这是一个独特的条件。Python是我使用过的最令人沮丧的编程语言之一,我只是不明白为什么它不起作用。我假设太多的逻辑被抽象掉了(python的一个常见主题),这导致了不应该中断的东西中断 我现在只尝试了我的代码,还没有弄清楚要修改什么 @app.route(“/newEvent/”,方法=[“GET”,“POST”]) def new_事件(): 如果“用户名”不在会话中: 返回重定向(url_用于(“主”

我正在为我的类编写Python代码,我正在尝试检查SQL数据库中是否已经存在某些内容,因为这是一个独特的条件。Python是我使用过的最令人沮丧的编程语言之一,我只是不明白为什么它不起作用。我假设太多的逻辑被抽象掉了(python的一个常见主题),这导致了不应该中断的东西中断

我现在只尝试了我的代码,还没有弄清楚要修改什么

@app.route(“/newEvent/”,方法=[“GET”,“POST”])
def new_事件():
如果“用户名”不在会话中:
返回重定向(url_用于(“主”))
如果会话[“状态”]!=“用户”:
返回重定向(url_用于(“主”))
如果request.method==“POST”:
event_on_date=event.query.filter_by(date=datetime.strtime(request.form[“date”],%Y-%m-%d))。first()
如果事件日期不是无:
flash(“事件创建失败,事件已存在于日期”)
返回重定向(url_for(home))
uid=User.query.filter_by(username=session[“username”])。first()
uid=uid.id
db.session.add(事件(uid,request.form[“name”],
datetime.strtime(request.form[“date”],%Y-%m-%d”))
db.session.commit()
flash(“创建的事件”)
返回重定向(url_用于(“主”))
其他:
返回呈现模板(“newEvent.html”)
如果我输入重复日期,我会得到以下结果:

sqlalchemy.exc.IntegrityError:(sqlite3.IntegrityError)唯一约束失败:event.date [SQL:在事件(请求者id、名称、日期)中插入值(?,?)] [参数:(2,'Bhgiujhjyg','2019-01-01')]

我假设,由于输入数据库的值在输入之前会进行检查,因此它会在输入之前捕获该值,但是,对于date的filter_By query每次都只返回None

        event_on_date = Event.query.filter_by(date=datetime.strptime(request.form["date"], "%Y-%m-%d")).first()
        if event_on_date is not None:

您可以建立您的模型吗?您是否打印了
datetime.strtime(request.form[“date”],%Y-%m-%d”)
的值,以检查在查询筛选器中使用日期之前是否正确解析了该日期?