2024-04-24 23:38:51 发布
网友
我正在使用django标记,我有一个标记对象数组。确定给定标记是否在其中的最佳方法是什么?你知道吗
def is_new (self): tags = Tag.objects.get_for_object(self) tagged = False for tag in tags: if tag = 'new': tagged = True return tagged
tags = Tag.objects.get_for_object(self) if 'new' in tags: return True
我从来没有真正使用过django标记,但是快速地查找源代码。get\u for\u对象返回该对象的标记的查询集。不是真正的名单。你知道吗
我不确定您的代码是否正常工作[从赋值/比较问题来看],或者您是否只是想改进它。但是,既然您正在返回一个queryset,您就不能继续过滤它吗?例如:
Tag.objects.get_for_object(self).filter(name='new')
或者可以用詹姆逊的例子:
if 'new' in tags: return True
我想你需要先把查询集变成一个列表。你知道吗
list(tags)
然后它就会起作用。你知道吗
请参见documentation以获取强制列表求值,并注意这样做的内存问题。你知道吗
所以我的建议是先测试过滤——让我们知道它是否有效,因为现在我很好奇。你知道吗
我从来没有真正使用过django标记,但是快速地查找源代码。get\u for\u对象返回该对象的标记的查询集。不是真正的名单。你知道吗
我不确定您的代码是否正常工作[从赋值/比较问题来看],或者您是否只是想改进它。但是,既然您正在返回一个queryset,您就不能继续过滤它吗?例如:
或者可以用詹姆逊的例子:
我想你需要先把查询集变成一个列表。你知道吗
然后它就会起作用。你知道吗
请参见documentation以获取强制列表求值,并注意这样做的内存问题。你知道吗
所以我的建议是先测试过滤——让我们知道它是否有效,因为现在我很好奇。你知道吗
相关问题 更多 >
编程相关推荐