Python Django ForeignKey类型错误:';相关经理';
我试着建立一个评论系统(在评论上加评论等等),但我一直收到同样的错误消息 models.py:Python Django ForeignKey类型错误:';相关经理';,python,django,django-models,Python,Django,Django Models,我试着建立一个评论系统(在评论上加评论等等),但我一直收到同样的错误消息 models.py: from django.db import models from django.utils.translation import ugettext_lazy as _ from Site.models import SiteUser class Discussion(models.Model): title = models.CharField(max_length=50, verbos
from django.db import models
from django.utils.translation import ugettext_lazy as _
from Site.models import SiteUser
class Discussion(models.Model):
title = models.CharField(max_length=50, verbose_name=_('Title'))
datetime = models.DateTimeField(auto_now_add=True)
data = models.TextField(verbose_name=_('Data'))
agree_count = models.PositiveIntegerField(default=0)
tough_decision_count = models.PositiveIntegerField(default=0)
disagree_count = models.PositiveIntegerField(default=0)
def __str__(self):
return self.title
def get_comments(self):
return self.comment_set.all().order_by('datetime')
def get_comments_len(self):
return self.comment_set.count()
get_comments_len.allow_tags = True
get_comments_len.short_description = _("Number of comments")
class Meta:
verbose_name = _('discussion')
verbose_name_plural = _('discussions')
class Comment(models.Model):
author = models.ForeignKey(SiteUser, verbose_name=_('Author'), related_name='+')
datetime = models.DateTimeField(auto_now_add=True, verbose_name=_('Time'))
data = models.TextField(verbose_name=_('Data'))
part_of = models.ForeignKey(Discussion, verbose_name=_('Part of'), related_name='comments')
on = models.ForeignKey('self', verbose_name=_('On'), related_name='child', blank=True, null=True)
agree_count = models.PositiveIntegerField(default=0)
tough_decision_count = models.PositiveIntegerField(default=0)
disagree_count = models.PositiveIntegerField(default=0)
def __str__(self):
return self.data
def get_child_comment(self):
return self.child()
class Meta:
verbose_name = _('comment')
verbose_name_plural = _('comments')
每次我尝试从评论本身(通过“child”)访问评论时,我都会收到以下错误消息:
Traceback (most recent call last):
File "<input>", line 1, in <module>
TypeError: 'RelatedManager' object is not callable
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
TypeError:“RelatedManager”对象不可调用
救命啊 子属性是一个管理器(
RelatedManager
)。例如,要查询它,您应该调用.all()
def get_child_comment(self):
return self.child.all()
当您“从自身访问注释”时,您认为不适合包含实际使用的语法是多么遗憾啊。