Flask-sqlalchemy hybrid_property 能被 query 吗?

2016-11-09 02:07:51 +08:00
 lbfeng

有 3 个 class Class, Student, Homework 。 Class 对 Student 一对多, Student 对 Homework 一对多。

在 Class 中有 hybrid_property 返回 Class 中的 Homework 并集.

@hybrid_property
def homeworks(self):
	return set([student.homeworks.all() for student in self.students.all()])
    
@homeworks.expression
def homeworks(cls):
    return select([distinct(Homework)]).where(and_(Student.class_id == cls.id, Student.homework_id == Homework.id)).as_scalar()

现在想返回某个 Class 的 deadline 在 2016.11.11 的所有 homework 。

one_class.homeworks.filter(Homework.deadline == traget_date).all()

产生错误 homeworks Set object 没有 filter 方法。

1865 次点击
所在节点    Python
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/319141

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX