Django模型的__unicode__方法错误
我在一个Django项目里有以下的Python代码:
import datetime
from django.utils import timezone
from django.db import models
# Create your models here.
class Poll(models.Model):
question = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
def __unicode__(self):
return self.question
def was_published_recently(self):
return self.pub_date >= timezone.now() - datetime.timedelta(days=1)
class Choice(models.Model):
poll = models.ForeignKey(Poll)
choice_text = models.CharField(max_length=200)
votes = models.IntegerField(default = 0)
def __unicode__(self)
return self.choice_text
当我运行命令 python manage.py validate 时,出现了以下错误:
def __unicode__(self)
^
SyntaxError: invalid syntax
有没有什么建议?
2 个回答
3
你忘记了缩进和冒号。应该是:
import datetime
from django.utils import timezone
from django.db import models
# Create your models here.
class Poll(models.Model):
question = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
def __unicode__(self):
return self.question
def was_published_recently(self):
return self.pub_date >= timezone.now() - datetime.timedelta(days=1)
class Choice(models.Model):
poll = models.ForeignKey(Poll)
choice_text = models.CharField(max_length=200)
votes = models.IntegerField(default = 0)
def __unicode__(self):
return self.choice_text
2
你忘记了 :
这个符号。
把
def __unicode__(self)
改成
def __unicode__(self):
另外,注意缩进哦。
def __unicode__(self):
return u'{0}'.format(self.choice_text)
#^ Indentation