Djangoで質問サイトを作成しています(teratailのようなもの)。
投稿された質問のうち、回答が付いていない質問だけをリストアップする機能を実装しています。
不要なものは消していますが、下記のようにmodels.pyを設定しています。
python
1# models.py 2 3# 質問を扱うモデル 4class Question(models.Model): 5 title = models.CharField(max_length=100) #タイトル 6 content = models.TextField() # 質問内容 7 8 def __str__(self): 9 return self.title 10 11# 回答を扱うモデル 12class Answer(models.Model): 13 question = models.ForeignKey(Question, on_delete=True) # 回答対象の質問 14 content = models.TextField() # 回答内容 15 16 def __str(self): 17 return self.question 18
views.pyは下記のようにしています。
python
1# views.py 2# 回答が付いていない質問だけを抜き出したリストを表示 3def unanswered_list(request): 4 questions = Question.objects.all() # 質問 5 answers = Answer.objects.all() # 回答 6 for question in questions: 7 question.answered = False #answeredという属性を作り、デフォルトでFalse(未回答)としました。 8 answers = answers.filter(question=question) # 当該質問に対する回答をピックアップ 9 if answers : 10 question.answered = True # 回答があれば、answeredをTrue(回答あり)としました。 11 questions = questions.order_by('-question_resistry_datetime') 12 template = loader.get_template('list.html') 13 context = { 14 'questions': questions.filter(answered=False) 15 } 16 return HttpResponse(template.render(context, request))
しかし、このようにすると、
Cannot resolve keyword 'answered' into field. Choices are: answer, content, id, title
というエラーが生じます。
answeredという属性を作ること自体がうまくいっていないようです。
どうしたら良いでしょうか?
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー