我会尽力描述我在这里要做的事情。 我有3个班级:
关系是:
因此,查询位于QuestionTemplate内的一个方法中,该方法为我提供了一个可能与QuestionTemplate相关的QuestionType相同的问题列表。
我试过了:questions = Question.objects.filter(type__in = template.type.all())
其中“template”是QuestionTemplate对象。
但是这个查询返回了我在模板中的QuestionType列表中至少有一个QuestionType的问题。
我想要做的是在问题和模板中获得完全相同的QuestionTypes。
我尝试了很多东西,但是不能让它起作用,拜托,有人救了我!
答案 0 :(得分:0)
types = template.type.all()
query = Question.objects
for t in types:
query = query.filter(type = t)
questions = []
for q in query.select_related('type'):
ok = True
for t in q.type.all():
if t not in types:
ok = False
break
if ok:
questions.append(q)
save_questions_in_m2m_relations_so_that_you_dont_have_to_repeat_this(questions)
非常笨拙,但应该做你需要的。