我相信从问题中很难理解问题,所以我会提供一个答案。从列表中删除具有相关相关模型的对象
我与我的型号之间存在以下关系:Answer
属于Question
属于Page
。我有一个答案列表:[<Answer: 1>, <Answer: 2>, ...]
。
现在我想删除全部属于不同问题的答案属于相同页面。
如果,例如,我的答案列表包含以下(细节增加了清晰度):[<Answer: Q1P1>, <Answer: Q1P1>, <Answer: Q1P2>, <Answer: Q2P2>]
则只有最后2个答案应该从列表中删除,因为他们都属于属于同一个不同的问题页。前两个答案仍然存在,因为虽然他们的问题属于同一页面,但问题与并无不同。
我的模型大致是这样的:
class Page(models.Model):
pass
class Question(models.Model):
page = models.ForeignKey(Page)
class Answer(models.Model):
question = models.ForeignKey(Question)
我怎样才能做到这一点?
你可以发布您的模型? – dm03514
那么,如果我正确地找到了你,给了一个页面,得到所有与之相关的唯一答案?或者你想要一个具有独特的页面 - 答案关系的查询集? – karthikr
你的_REAL_用例是什么?这个列表来自哪里(并且它真的是一个列表吗?或者它是一个QuerySet?)你需要什么? 如果它真的是一个列表,那么你可以使用for循环或列表集成或使用内置的'filter'函数来过滤它,但它并不是非常有效。 –