###前提・実現したいこと
現在アプリの作成をしております。
表題の件に関して、外部キーを使ってメインテーブルのデータをフィルタリングする方法はないかと模索しております。
まずはモデルをご確認下さい。
#models.py class Situation(models.Model): s_id = models.IntegerField() situation = models.CharField(max_length=50, unique=True) class Pop_data(models.Model): p_id = models.AutoField(primary_key=True) s_id = models.ForeignKey(Situation) pop = models.TextField() ruby = models.TextField() ex_1 = models.TextField() date = models.DateTimeField(default=datetime.now)
上記のようにPop_dataモデルのs_idが外部キーとなっております。
次にビューをご確認下さい。
views.py def category(request, s_id): m_data = Pop_data.objects.filter(situation__s_id = s_id) return render(request, 'each_page/category.html', {'m_data': m_data})
外部より入力された[s_id]に基づき、Pop_dataテーブルの情報にフィルタリングをかけたいと思い上記のコードを作成しました。
htmlは下記の通りです。
category.html {% for m in m_data %} <h1>{{ m.pop }}</h1> <br> {% endfor %}
最終的に表示させたいのは、s_idによって絞り込まれた、Pop_dataテーブルのpopフィールドの情報となります。
###発生している問題・エラーメッセージ
以上のコードを実施したところ、
djangoからは、下記エラーメッセージが送り返されます。
Cannot resolve keyword 'situation' into field. Choices are: date, ex_1, p_id, pop, ruby, s_id, s_id_id
自分で調べてはいるのですが、
django関係は英語の情報がかなり多く、細かいニュアンスの汲み取りに大変苦労しております。
どなたか解決策をご教示頂ければ幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/08/28 01:16
2017/08/28 04:23
退会済みユーザー
2017/08/28 05:19