我在 sqlalchemy 中有表:
class Exams(db.Model):
__tablename__ = 'exams'
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
name_of_Exam = db.Column(db.String(140))
number_of_exam_task = db.Column(db.SmallInteger)
name_of_exams_task = db.Column(db.String(140))
我需要从第一列中获取唯一值。我的代码是:
qqq = db.session.query(Exams.name_of_Exam).distinct()
for i in qqq:
print(i.name_of_Exam)
如何使用 db.session
实现这样的结果?我试过这样的事情:
qqq = Exams.query.options(load_only("name_of_Exam")).distinct(Exams.name_of_Exam)
for i in qqq:
print(i.name_of_Exam)
失败了
答案 0 :(得分:1)
不太清楚你为什么要这样做——通过会话来做这件事看起来更清晰、更干净,但以下应该有效:
data = Exams.query.with_entities(Exams.name_of_Exam).distinct(Exams.name_of_Exam).all()
for x in data:
print(x.name_of_Exam)