根据另一个对象列表检查对象列表

Posted

技术标签:

【中文标题】根据另一个对象列表检查对象列表【英文标题】:Checking a list of objects against another list of objects 【发布时间】:2011-11-26 16:17:14 【问题描述】:

我有一个用户配置文件,其中包含指向一组收藏对象的多对多字段。

我有一个查询集,它返回一组这些类型的对象,独立于收藏夹(尽管它可能包含收藏夹)。

我想做的是这样的:

% for object in objects %
    <p>% if user.get_profile.favorites contains object % Unfavorite % else % Favorite % endif %</p>
% endfor %

但到目前为止,我找不到一个简单的方法来做到这一点。想法?

【问题讨论】:

【参考方案1】:

in

【讨论】:

这一定是我收到的最短的有用回复。 在链接断开之前,它完全没用。 meta.stackexchange.com/questions/7656/…【参考方案2】:

你试过object in user.get_profile.favorites吗?

无论如何,请在您的视图中进行处理,而不是在您的模板中。

【讨论】:

我想在模板中这样做的唯一原因是因为我想渲染一批 html 或其他。上面的文字是简化的。 这并不妨碍在您的视图中做出选择,甚至更倾向于在您的模板中做出选择。

以上是关于根据另一个对象列表检查对象列表的主要内容,如果未能解决你的问题,请参考以下文章

如何根据另一个数组的顺序对对象数组进行排序?

如何正确查询列表(或另一个 ManyToManyField)中所有对象的 ManyToManyField?

检查一个列表是不是包含另一个列表中的元素

如何过滤复杂对象的列表,以便如果两个具有字段值,我会根据条件删除一个

根据另一个下拉列表填充一个下拉列表

根据另一个列表中的条件删除一个列表中的某些元素