Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django ForeignKey类型错误:';相关经理';_Python_Django_Django Models - Fatal编程技术网

Python Django ForeignKey类型错误:';相关经理';

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

我试着建立一个评论系统(在评论上加评论等等),但我一直收到同样的错误消息

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, 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()

当您“从自身访问注释”时,您认为不适合包含实际使用的语法是多么遗憾啊。