2013-04-16 65 views
0

配置文件包含標籤。 我正在渲染一個列表profile_tagstop_tags。我將如何去檢查top_tags中的每個標籤是否在profile_tags中?Python/Django檢查對象是否在2個列表中

我在我的觀點已經試過:

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 

預先感謝您的幫助!

回答

1

你可以這樣做:

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

這給你的布爾標誌。

+0

'名單()'返回'list'不是一個布爾值,和你的新編輯使您的解決方案與我的完全相同。 –

+0

我得到一個TypeError:'bool'對象不可迭代 – Modelesq

+0

抱歉,'list()'wrap是我的錯誤。 – karthikr

1

他們都轉換成集,並檢查是否設置top_tags是集合的子集profile_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 
相關問題