首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以列表形式返回对象标记

以列表形式返回对象标记
EN

Stack Overflow用户
提问于 2012-04-13 07:02:23
回答 3查看 1.5K关注 0票数 4

使用django-tagging,对于一个分配了多个标签的对象,我如何返回一个简单的标签名称列表?

object.tags()返回一个不易转换为json的对象,并且TaggableManager是不可迭代的。

还有别的办法吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-04-14 01:06:06

TaggableManager中有一个名为' get _query_set‘的未记录函数,从中可以很容易地获得列表:

代码语言:javascript
复制
tagsList = []
for tag in foobar.tags.get_query_set():
  tagsList.append(tag.name)
票数 6
EN

Stack Overflow用户

发布于 2012-04-13 07:26:42

第一个变体

代码语言:javascript
复制
class MyClass(models.Model)
    ...
    def get_tag_names(self):
        return [tag.name for tag in Tag.objects.get_for_object(self)]

第二个变体:

代码语言:javascript
复制
class MyClass(models.Model)
    ...
    def get_tag_names(self):
        return Tag.objects.get_for_object(self).values_list('name', flat=True)

我想两个都应该行得通。

票数 3
EN

Stack Overflow用户

发布于 2020-09-05 16:53:48

代码语言:javascript
复制
tags_list = []
for tag in foobar.tags.all():
  tags_list.append(tag.name)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10133064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档