アプリ、記事を含むプロジェクトがあります。そこには、すべての記事を一覧表示するページと、選択した記事とそのコメントを表示するページがあります。南部からの移行を使用する前はすべて問題なく、いくつかの変更を加えていました。つまり、以前はコメント モデルにフィールドがありました。
名前 = models.CharField(max_length=200)
そしてそれを次のように変更しました:
first_name = models.CharField(max_length=200)
second_name = models.CharField(max_length=200)
Articles.html ページを読み込むと問題はありませんが、article.html を読み込むとエラーが発生します。
/articles/get/1/ での DatabaseError
そのような列はありません: article_comment.first_name
テンプレートのレンダリング中にエラーが発生しました
テンプレート C:\Users\Robin\web\django_test\article\templates\article.html の 21 行目のエラー
21 行目の article.html:
{% if article.comment_set.all %}
問題はにあると思いますcomment_set.all
。コンソールでも、上記と同じエラーが表示されます。では、特定の記事からすべてのコメントを取得するにはどうすればよいですか? または、コードに間違いを犯しましたか?どんな助けでも大歓迎です。ありがとうございました。
Models.py:
from django.db import models
from time import time
def get_upload_file_name(instance, filename):
return "uploaded_files/%s_%s" % (str(time()).replace('.','_'), filename)
class Article(models.Model):
title = models.CharField(max_length=200)
body = models.TextField()
pub_date = models.DateTimeField('date published')
likes = models.IntegerField(default=0)
thumbnail = models.FileField(upload_to=get_upload_file_name)
def __unicode__(self):
return self.title
class Comment(models.Model):
first_name = models.CharField(max_length=200)
second_name = models.CharField(max_length=200)
body = models.TextField()
pub_date = models.DateTimeField('date published')
article = models.ForeignKey(Article)
ビュー.py:
def article(request, article_id=1):
return render_to_response('article.html',
{'article': Article.objects.get(id=article_id) })
フォーム.py:
class CommentForm(forms.ModelForm):
class Meta:
model = Comment
fields = ('first_name','second_name', 'body')
記事.html:
{% extends "base.html" %}
{% block sidebar %}
<ul>
<li><a href="/articles/all">Articles</a></li>
</ul>
{% endblock %}
{% block content%}
<h1>{{article.title}}</h1>
<p>{{article.body}}</p>
{% if article.thumbnail %}
<p><img src="/static/assets/{{ article.thumbnail }}" width="200"/></p>
{% endif %}
<p>{{ article.likes }} people liked this article.</p>
<p><a href="/articles/like/{{ article.id }}">Like</a></p>
<h2>Comments</h2>
{% if article.comment_set.all %}
{% for c in article.comment_set.all %}
<p>{{ c.name }}: {{ c.body }}</p>
{% endfor %}
{% else %}
<p>No comment</p>
{% endif %}
<p><a href="/articles/add_comment/{{ article.id }}">Add comment</a></p>
{% endblock %}