2017-01-26 1 views
-3

私はちょうどDjangoを使い始めました。私はhttps://docs.djangoproject.com/en/1.10/intro/tutorial02/に従っています。djangoポーリングチュートリアルのエラー

シェルでQuestion.objects.all()を実行すると、シェルでエラーが発生します。私はdir(Question)を走らせました。それは存在しないと言いましたが、私はそれが分かっています。 models.pyを数回編集したのでテーブル/データベースを再読み込みしましたが、変更が反映されませんでした。私もユニコードメソッドを追加しましたが、それは解決しませんでした。あなたの助けを事前に感謝します。初心者のためのここに は私のmodels.pyある

from __future__ import unicode_literals 

from django.db import models 

# Create your models here 

class Question(models.Model): 
    question_text = models.CharField(max_length=200) 
    pub_date = models.DateTimeField('date published') 
    def __unicode__(self): 
     return self.Question 

class Choice(models.Model): 
    question = models.ForeignKey(Question, on_delete=models.CASCADE) 
    choice_text = models.CharField(max_length=200) 
    votes = models.IntegerField(default=8) 
    def __unicode__(self): 
     return self.Choice 
+1

コードがチュートリアルと正確に一致することを確認する必要があります。たとえば、Unicodeではなく '__str__'を定義し、Python 2を使用している場合は' @ python_2_unicode_compatible'を使用し、 'self.Question'ではなく' self.question_text'と 'self.choice_text'を返し、' self.Choice'では 'self.Choice' '。それでもエラーが発生した場合は、完全なトレースバックを質問に含める必要があります。そうでなければ、問題の内容を推測できます。 – Alasdair

+0

あなたはどんなエラーがありますか? – Marat

答えて

0

あなた__unicode__方法

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

    def __unicode__(self): 
     return self.question_text 


class Choice(models.Model): 
    question = models.ForeignKey(Question, on_delete=models.CASCADE) 
    choice_text = models.CharField(max_length=200) 
    votes = models.IntegerField(default=8) 

    def __unicode__(self): 
     return self.choice_text 
0

Aha..Iを変更私が今やった内容を正確に把握。私は質問を書く前にQuestion_textとChoice_textでテストしました。これはquestion_textとchoice_textで動作します。私が行っているように実際に習得してプロセスを考えるタイピングの問題は、私は単純なことを見落とすことです。 ありがとうございます。