typeerror:only()接受2个位置参数,但给出了3个

iyfjxgzm  于 2021-06-10  发布在  Cassandra
关注(0)|答案(1)|浏览(424)

在这里,我试图只使用only()从cassandra获取两个字段,但是当我传递字段名时,它给了我上面的错误,我也尝试传递self,但是没有起作用。在得到这两个字段之后,我需要将它们转换成两个数组,这样我就可以用名称和标记来绘制图形。
代码如下:

from flask import *
from flask_cqlalchemy import CQLAlchemy

app = Flask(__name__)
app.config['CASSANDRA_HOSTS'] = ['127.0.0.1']
app.config['CASSANDRA_KEYSPACE'] = "emp"

db = CQLAlchemy(app)

class Student(db.Model):
    uid = db.columns.Integer(primary_key=True)
    marks = db.columns.Integer(primary_key=True)
    username = db.columns.Text(required=True)
    password = db.columns.Text()

    @app.route('/meriting')
    def show_meritlist():
        ob = Student.objects().filter().only(Student.marks, Student.username)
        ob = ob.filter(Student.marks >= 65).allow_filtering()
        return render_template('merit.html', ml = ob)

db.sync_db()
if __name__ == '__main__':
    app.run(debug = True)
xtfmy6hx

xtfmy6hx1#

only() 只接受一个应为iterable的参数。尝试:

ob = Student.objects().filter().only((Student.marks, Student.username))

相关问题