我正在编写我的第一个django应用程序 https://docs.djangoproject.com/en/dev/intro/tutorial01/ 我遇到了两个问题。
我的Models.py是
来自django.db导入模型
class Poll(models.Model):
question = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
def _unicode_(self):
return self.question self.question
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.question
我的第一个错误是我什么时候
python manage.py shell
from mysite.myapp.models import Poll,Choice
p = Poll(question="What Your Name",pub_date"1990-02-04")
p.save()
Poll.objects.all()
[<Poll: Poll object>, <Poll: Poll object>]
为什么不显示{Poll:怎么了?而不是
[<Poll: Poll object>, <Poll: Poll object>]
我的第二个问题是当我输入
时 p = Poll.objects.get(id=1)
p.question.objects.all()
我得到这个错误
AttributeError: 'unicode' object has no attribute 'objects'
我该如何解决?
答案 0 :(得分:2)
您必须定义模型的__unicode__
方法,而不是_unicode_
。此外,您提供的代码return self.question self.question
语法无效。
p
是一个轮询实例,p.question
是CharField而不是ForeignKey,没有属性对象。 p
有对象,调用p.objects.all()
效果很好。
答案 1 :(得分:0)
1&GT;其__unicode__
不是_unicode_
Poll(models.Model):
question = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
def __unicode__(self):
return self.question, self.pub_date
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 - ; objects函数是文档实例的属性而不是字段,p.questions是文档字段,