0

配置文件有标签。我正在渲染profile_tags和的列表top_tags。我将如何检查 top_tags 中的每个标签是否在 profile_tags 中?

我在我的观点中尝试过的:

has_tag = False
profile_tags = profile.tags.all()
top_tags = Tag.objects.all()
for top in top_tags:
    if top in profile_tags:
        has_tag = True

预先感谢您的帮助!

4

2 回答 2

1

你可以做:

has_tag = set(list(top_tags)).issubset(list(profile_tags))

这为您提供了布尔标志。

于 2013-04-16T20:05:34.363 回答
1

将它们都转换为集合并检查 set of 是否是 set oftop_tagsprofile_tags

In [14]: profile_tags=[1,2,3,4]

In [15]: top_tags=[1,2,3]

In [16]: s1=set(profile_tags)

In [17]: s2=set(top_tags)

In [18]: s2.issubset(s1)
Out[18]: True
于 2013-04-16T20:09:08.083 回答