在Flask/sqlalchemy中过滤多个柱

2024-09-30 07:31:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我是flask/sqlalchemy的新手,我一直在尝试使用过滤器来拒绝POST事件,因为我的配方数据库中已经存在一个资源。在

因此,我想检查对于给定的用户(id),是否已经存在一个recipename。我这样做的方法是:

exists = db.session.query(Recipe).filter_by(rname=recipename, id=id).scalar()

这似乎不起作用,但如果您按照我的调试进行操作,应该是这样的:

在我的代码中,我对它进行了分解,并添加了以下行:

^{pr2}$

rname=测试后的第一次尝试:

1 <__main__.Recipe object at 0x103cff490>

2 None

3 None

这是有意义的,因为只有用户id应该返回非零响应,因为配方还没有发布。在

rname=试验的第二次试验:

1 <__main__.Recipe object at 0x103cff350>

2 <__main__.Recipe object at 0x103cff390>

3 None

如预期,(1)和(2)不是无,因为rname=test现在也存在。但为什么(3)仍然没有返回?在

当我删除.scalar()off print语句3时,查询看起来是正确的:

SELECT recipes.id AS recipes_id, recipes.rname AS recipes_rname, recipes.customer_id AS recipes_customer_id, recipes.date AS recipes_date, recipes.done AS recipes_done
FROM recipes
WHERE recipes.rname = :rname_1 AND recipes.id = :id_1

我也可以从postgres数据库中选择行。在

任何帮助都将不胜感激!在


Tags: 用户noneid数据库objectmainas配方

热门问题