2012-07-26 63 views
0

我有一个过滤器的错误:need more than 1 value to unpack“需要1个多值解包”的错误与过滤器

它是正确的:

groups_list = Group.objects.filter({'assignment__in': editedcourse.assignment.all()}) 

我认为这是一个语法错误,或者给定参数缺少过,但我不能纠正:/

+0

尝试没有{} groups_list = Group.objects.filter( 'assignment__in':editedcourse.assignment.all()) – levi 2012-07-26 17:33:25

+0

我有另一个错误:'无效syntax' – nlassaux 2012-07-26 17:34:49

+0

检查我的答案。 – levi 2012-07-26 17:36:49

回答

1

尝试没有{}和 ''

groups_list = Group.objects.filter(assignment__in= editedcourse.assignment.all()) 

ids = map(lambda x:x.id,editedcourse.assignment.all()) 
groups_list = Group.objects.filter(assignment__in=ids) 
+0

第一个很好,我试图与元组混合使用。谢谢! – nlassaux 2012-07-26 17:40:56

+0

[Guido van Rossum讨厌地图](http://www.artima.com/weblogs/viewpost.jsp?thread=98196),用列表理解代替 – juliomalegria 2012-07-26 17:41:12

+0

加理解列表: ids = [course.id for course in editedcourse .assignment.all()] groups_list = Group.objects.filter(assignment__in = ids) – levi 2012-07-26 17:45:04

相关问题