django错误:'unicode'对象不可调用

时间:2023-01-25 20:23:54

im attempting to do the django tutorial from the django website, and ive run into a bit of an issue: ive got to adding my __unicode__ methods to my models classes, but when ever i try to return the objects of that model i get the following error:

我试图从django网站上做django教程,我遇到了一个问题:我必须将我的__unicode__方法添加到我的模型类中,但是当我尝试返回该模型的对象时,我得到以下内容错误:

in __unicode__
    return self.question()
TypeError: 'unicode' object is not callable

im fairly new to python and very new to django, and i cant really see what ive missed here, if someone could point it out id be very grateful. A bit of code:

我是相当新的蟒蛇和非常新的django,我真的不知道我错过了什么,如果有人可以指出它id非常感激。一点代码:

My models.py:

我的models.py:

# The code is straightforward. Each model is represented by a class that subclasses django.db.models.Model. Each model has a number of 
# class variables, each of which represents a database field in the model.

from django.db import models

    class Poll(models.Model):
        question = models.CharField(max_length=200)
        pub_date = models.DateTimeField('date published') 

        def __unicode__(self):
            return self.question


    class Choice(models.Model):
        poll = models.ForeignKey(Poll) 
        choice = models.CharField(max_length=200) 
        votes = models.IntegerField()

        def __unicode__(self):
            return self.choice()

and in the interactive shell:

并在交互式shell中:

from pysite.polls.models import Poll, Choice
Poll.objects.all()

1 个解决方案

#1


29  

self.choice is a string value, but the code is trying to call it like a function. Just remove the () after it.

self.choice是一个字符串值,但代码试图像函数一样调用它。只需删除它后面的()即可。

#1


29  

self.choice is a string value, but the code is trying to call it like a function. Just remove the () after it.

self.choice是一个字符串值,但代码试图像函数一样调用它。只需删除它后面的()即可。