我的模特是这样的
现在,我想要订阅所有的course
,输入一个club
和一个user
我所做的是:
courses = Courses(Courses.club == club.key).fetch(keys_only=True)
real_list = []
for course in courses:
if CourseSubscription.get_by_id(user, course):
real_list.append(course)
sessions = Session.query(Session.course.IN(real_list),Session.start_date >= start_date).fetch()
对于课程订阅,我使用了这个https://stackoverflow.com/a/26746542/1257185,这就是为什么我可以使用if(但是它很昂贵)
有更好的方法吗?至少便宜点。我在考虑gql,但是我有一个IN
列表要做。
可能smt喜欢:
select key from courseSubscription, where course.club = {clubid} and user = {user}
然后ndb_get_multi
加载查询结果?
这有可能吗
for
循环生成许多请求,您可以将它们组合成单个请求如果您的
CourseSubscription
与上面SO链接中的CourseInscription
相同,那么您可以获取订阅密钥列表,并进行单个get_multi()
调用以获取所有订阅:如果密钥不存在,那么该订阅将是
None
。你得把这些过滤掉相关问题 更多 >
编程相关推荐