flask sqlalchemy filter_by给出运行时错误

艾哈迈德·里希塔斯

抱歉,问题是原始的。我是Flask和SQL Alchemy的新手。

我有一个如下模型。

class Department(FlaskSerializeMixin,db.Model):
        id = db.Column(db.Integer, primary_key=True)
        dep_name = db.Column(db.String(100),unique=True,nullable=False)
        dep_prefix = db.Column(db.String(1),unique=True,nullable=False)
        cre_time =db.Column(db.DateTime)
        chg_time =db.Column(db.DateTime)

而且我有如下方法编辑部门

@menuOps_bp.route('/edit_dep', methods=['POST'])
def edit_dep():
    req=request.get_json()
    print(req)
    if Department.query.filter_by(id != req['row_id'], dep_name=req['deptName'] ).first() is None:
        if Department.query.filter_by(id != req['row_id'], dep_prefix=req['dPrefix'] ).first() is None:
            dep = Department.query.filter_by(id=req['row_id']).first()
            dep.dep_name=req['deptName']
            dep.dep_prefix=req['dPrefix']
            dep.chg_time = datetime.datetime.now()
            db.session.commit()
            return jsonify({'success':"Department {dep} is update succussfully".format(dep=req['deptName'])})
        else:
            return jsonify({'error' : " The PreFix [ {prefix} ] is already Used !!!".format(prefix=req['dPrefix'])})
    else:
        return jsonify({'error' :  " Department [ {dep} ] is already Used !!!".format(dep=req['deptName'])})

该应用程序已正确出售,但使用调用路由时if Department.query.filter_by(id != req['row_id'], dep_name=req['deptName'] ).first() is None:失败,并出现以下错误。请帮助解决问题。

  File "/home/rishthaz/QMS_AIMS/ECQ/ecqenv/lib/python3.7/site-packages/flask/app.py", line 1935, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/rishthaz/QMS_AIMS/ECQ/v1/BE/menu/routes.py", line 29, in edit_dep
    if Department.query.filter_by(id != req['row_id'], dep_name=req['deptName'] ).first() is None:
**TypeError: filter_by() takes 1 positional argument but 2 were given**

基本上我想触发查询 select count(1) from department where id != <somevalue> and dep_name = <somevalue>

卡莱斯蒂尼

在您的情况下,我建议您使用filter而不是filter_by,原因是您要进行比较而不是关键字参数:

if not Department.query.filter(
         Department.id != req['row_id'], 
         Department.dep_name==req['deptName'] 
    ):
    ### continue...

filter接受多个参数,并将其视and您情况而定。另外,您还可以传递and_甚至调用两次:

if not Department.query\
    .filter(Department.id != req['row_id'])\
    .filter(Department.dep_name==req['deptName']):
    ### continue ...

强烈建议区别的答案filterfilter_by

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Flask SQLAlchemy分页错误

来自分类Dev

Flask Admin / SQLAlchemy Unicode错误

来自分类Dev

Flask Admin / SQLAlchemy Unicode错误

来自分类Dev

Flask + SQLAlchemy邻接列表backref错误

来自分类Dev

cout给出运行时错误

来自分类Dev

无法安装flask_sqlalchemy->导入错误:没有名为flask_sqlalchemy的模块

来自分类Dev

Flask-Bcrypt运行时错误

来自分类Dev

如何协调运行Flask-Login,Flask-BrowserID和Flask-SQLAlchemy?

来自分类Dev

SQLALchemy动态filter_by

来自分类Dev

Flask SQLAlchemy关系

来自分类Dev

Flask-SQLAlchemy TimeoutError

来自分类Dev

Flask/SQLAlchemy Insert Into Database

来自分类Dev

Flask + SqlAlchemy ALTER表

来自分类Dev

Flask SQLAlchemy关系

来自分类Dev

无法安装Flask SQLAlchemy

来自分类Dev

您可以并行运行多个Flask SQLAlchemy查询吗?

来自分类Dev

返回SQLAlchemy查询结果时的Python Flask类型错误

来自分类Dev

Flask SQLAlchemy:属性错误:“函数”对象没有“翻译”属性

来自分类Dev

va_arg给出运行时错误

来自分类Dev

performSegueWithIdentifier给出运行时错误,为什么?

来自分类Dev

为什么我的代码给出运行时错误?

来自分类Dev

在android中给出运行时短信权限错误

来自分类Dev

在线判断给出运行时错误(NZEC)

来自分类Dev

PyCharm解析-flask.ext.sqlalchemy与flask_sqlalchemy

来自分类Dev

SqlAlchemy Flask中的列参数

来自分类Dev

Flask-SQLAlchemy的隔离级别

来自分类Dev

用Flask-SQLAlchemy查询

来自分类Dev

Flask-SQLAlchemy-大于或等于

来自分类Dev

Flask sqlalchemy-最小应用