gpt4 book ai didi

python - 无法通过 `Model` 实例访问管理器

转载 作者:太空狗 更新时间:2023-10-30 01:49:34 25 4
gpt4 key购买 nike

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

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

我得到:

Manager isn't accessible via Artcle instances

标记.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')
#.....

最佳答案

您正在尝试从模型实例访问管理器,这是不可能的。更多信息:Retrieving objects (特别是注释)。

 tags[0].object.objects.count()   \/
¨¨¨¨¨¨ /\

您可以这样做(未测试):

object_klass = tags[0].object.__class__
min_count = max_count = object_klass.objects.filter(pk=tags[0].object.pk).count()

关于python - 无法通过 `Model` 实例访问管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5549687/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com