经理不能通过`Model`实例访问 [英] Manager isn't accessible via `Model` instances

查看:125
本文介绍了经理不能通过`Model`实例访问的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有多态标签模型,我想为它创建tag_cloud,
,但是当我想将相关对象计算到标签时

  tags = TaggedItem.objects.all()
#计算标签,最小和最大计数。
min_count = max_count = tags [0] .object.objects.count()

获取:

 经理不能通过Artcle实例访问

tagging.models.py

  class Tag(models.Model): 
name = models.CharField(max_length = 100)
slug = models.SlugField(unique = True,max_length = 100)
#.....

class TaggedItem(models.Model):
tag = models.ForeignKey(Tag)
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
object = generic .GenericForeignKey('content_type','object_id')
#.....


解决方案

错误发布在第一位,因为如果我想在这种情况下访问标签计数 ,我宁愿更改

  tags = TaggedItem.objects.all()
#计算标签的最小值和最大值ounts。
min_count = max_count = tags [0] .object.objects.count()

  tags = Tag.objects.all()
#计算标签,最小和最大计数。
min_count = max_count = tags [0] .taggeditem_set.count()


I have polymorphic tagging model and I want to create tag_cloud for it, but when I wanna count related object to tags

tags = TaggedItem.objects.all()
# Calculate tag, min and max counts.
min_count = max_count = tags[0].object.objects.count()

i get:

Manager isn't accessible via Artcle instances

tagging.models.py

class Tag(models.Model):
    name = models.CharField(max_length=100)
    slug = models.SlugField(unique=True, max_length=100)
    #.....

class TaggedItem(models.Model):
    tag = models.ForeignKey(Tag)
    content_type = models.ForeignKey(ContentType)
    object_id = models.PositiveIntegerField()
    object = generic.GenericForeignKey('content_type', 'object_id')
    #.....

解决方案

Mistake was issued in first place, Because if I want access to tags and count them in this situation, I rather to change

tags = TaggedItem.objects.all()
# Calculate tag's min and max counts.
min_count = max_count = tags[0].object.objects.count()

to:

tags = Tag.objects.all()
# Calculate tag, min and max counts.
min_count = max_count = tags[0].taggeditem_set.count()

这篇关于经理不能通过`Model`实例访问的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆