我想知道如何在django-tagging中过滤对象。
例如,如果您已经写了一篇文章,但状态仍然是draft,那么您显然不希望在文章被推送到live状态之前显示这些内容。
你是在{% tags_for_model products.Widget as widget_tags %}中做的,还是有其他的方法?
发布于 2011-02-28 17:37:35
您可以通过在视图中使用usage_for_model来完成此操作,您可以添加过滤器,例如
Tag.objects.usage_for_model(ModelClass, filters={"status":1})或者创建一个接受过滤器的tags_for_model版本
发布于 2011-02-28 17:37:16
您不会过滤要在模板标签上检索标签的对象。我没有找到一种直接的方法来为
Product.objects.filter(draft= False)我要做的是创建一个类似于PublishedProduct的产品代理模型
class PublishedProduct(Product):
objects = PublishedProductManager()
class Meta:
proxy = True然后将其默认管理器设置为从过滤器返回子集(例如filter(draft= False))
class PublishedProduct(models.Manager):
def get_query_set(self):
return super(PublishedProduct, self).get_query_set().filter(draft= False)https://stackoverflow.com/questions/5139303
复制相似问题