我想知道如何在 django-tagging 中过滤对象。
例如,如果您写了一篇文章并且状态仍然是draft
您显然不想在文章被推送到实时状态之前显示这些。
你是这样做的{% tags_for_model products.Widget as widget_tags %}
还是有其他的方法?
我想知道如何在 django-tagging 中过滤对象。
例如,如果您写了一篇文章并且状态仍然是draft
您显然不想在文章被推送到实时状态之前显示这些。
你是这样做的{% tags_for_model products.Widget as widget_tags %}
还是有其他的方法?
您不会过滤从中检索模板标签上的标签的对象。我没有找到一种直接的方式来为
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)
您可以在视图中使用 usage_for_model 来添加过滤器,例如
Tag.objects.usage_for_model(ModelClass, filters={"status":1})
或创建一个接受过滤器的 tags_for_model 版本