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是一个字符串值,但代码试图像函数一样调用它。只需删除它后面的()即可。