この回答に続いて、SQL ストーリー テーブルを親/子に分割しようとしました。子は特定のユーザー データを保持し、親はより一般的なデータを保持します。今、私は Django での経験不足を裏切る問題に遭遇しました。私のユーザー ページは、ユーザーが書いたすべてのストーリーのリストを表示しようとしています。以前は、ユーザー ページがストーリー テーブルからデータを取得するだけでしたが、問題なく動作していました。リンクされた情報を含む 2 つのテーブルからデータを取得する必要がありますが、その方法がわかりません。
親ストーリーテーブルからもデータを取得しようとする前の user_page ビューは次のとおりです。
def user_page(request, username):
user = get_object_or_404(User, username=username)
userstories = user.userstory_set.order_by('-id')
variables = RequestContext(request, {
'username': username,
'userstories': userstories,
'show_tags': True
})
return render_to_response('user_page.html', variables)
ここに私のmodels.pyがあります:
class story(models.Model):
title = models.CharField(max_length=400)
thetext = models.TextField()
class userstory(models.Model):
main = models.ForeignKey(story)
date = models.DateTimeField()
user = models.ForeignKey(User)
親テーブルでも適切な情報を検索し、それを変数に割り当てるという点で、どこから始めればよいかわかりません。私がする必要があるのは、ユーザーストーリーテーブルの「メイン」キーをストーリーテーブルにたどり、ストーリーテーブルを変数として割り当てることです。しかし、定義でそれを実装する方法がわかりません。
編集: story = userstory.objects.get(user=user) を試しましたが、「ユーザーストーリーに一致するクエリが存在しません」というメッセージが表示されます。