首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >django-标签只显示来自过滤项目的标签

django-标签只显示来自过滤项目的标签
EN

Stack Overflow用户
提问于 2011-02-28 15:37:46
回答 2查看 279关注 0票数 0

我想知道如何在django-tagging中过滤对象。

例如,如果您已经写了一篇文章,但状态仍然是draft,那么您显然不希望在文章被推送到live状态之前显示这些内容。

你是在{% tags_for_model products.Widget as widget_tags %}中做的,还是有其他的方法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-28 17:37:35

您可以通过在视图中使用usage_for_model来完成此操作,您可以添加过滤器,例如

代码语言:javascript
复制
Tag.objects.usage_for_model(ModelClass, filters={"status":1})

或者创建一个接受过滤器的tags_for_model版本

票数 1
EN

Stack Overflow用户

发布于 2011-02-28 17:37:16

您不会过滤要在模板标签上检索标签的对象。我没有找到一种直接的方法来为

代码语言:javascript
复制
Product.objects.filter(draft= False)

我要做的是创建一个类似于PublishedProduct的产品代理模型

代码语言:javascript
复制
class PublishedProduct(Product):
    objects = PublishedProductManager()
    class Meta:
        proxy = True

然后将其默认管理器设置为从过滤器返回子集(例如filter(draft= False))

代码语言:javascript
复制
class PublishedProduct(models.Manager):
    def get_query_set(self):
        return super(PublishedProduct, self).get_query_set().filter(draft= False)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5139303

复制
相关文章

相似问题

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