質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

Model

MVCモデルの一部であるModelはアプリケーションで扱うデータとその動作を管理するために扱います。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1089閲覧

templateが思った通りに表示できない

art35

総合スコア13

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

Model

MVCモデルの一部であるModelはアプリケーションで扱うデータとその動作を管理するために扱います。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/10/01 07:39

teamlist.htmlでteam選択のaタグに対してlinelistに遷移した時に
model.Departmentのline全てが反映されてしまします。
Departmentで対象のteamに所属しているlineのデータだけを表示させるには何が必要ですか?
初学者で調べてはいますが、教材をみても具体的なことがわかりません。
わかる方どこに何が必要が具体的に指摘できればお願い致します。

models.py class Department(models.Model): """所属部署の登録""" line = models.CharField(max_length=50,null=True, unique=True, blank=True, verbose_name ='ライン') team = models.ForeignKey( Team, on_delete=models.CASCADE, verbose_name ='チーム', blank=True, related_name='teams' )
teamlist.html <div class="col-10 offset-1"> <table class="table table-striped table-bordered"> <thead> <tr> <td>チーム</td> </tr> </thead> <tbody> {% for item in object_team %} <tr> <td><a href={% url 'linelist' %}>{{ item.team }}</a></td> </tr> {% endfor %} </tbody> </table> </div>
linelist.html <div class="container"> {% for item in object_line %} <div class="alert alert-priority" role="alert"> <p>チーム:{{ item.team }}</p> <div class="alert alert-success" role="alert"> <p>ライン:<form action="{% url 'csdc_list' %}" method="get" autocomplete="off"> {% csrf_token %} {{ form }} {{ item.line }} <input type="hidden" name="test_line" id="test_line" value="{{ item.get_lines }}"> <button type="submit">選択</button> </form></p> </div> </div> {% endfor %} </div>
views.py def teamlist(request): object_team = Team.objects.all() print(object_team) return render( request, 'teamlist.html', {'object_team':object_team} ) def linelist(request): object_line = Department.objects.select_related().values() print(object_line) return render( request, 'linelist.html', {'object_line': object_line} )
urls.py urlpatterns = [ path('linelist/', linelist, name='linelist'), path('teamlist/', teamlist, name='teamlist'),

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

html

1teamlist.html 2 3{% for item in object_team %} 4 <tr> 5 <td><a href={% url 'linelist' item.pk %}>{{ item.team }}</a></td><!--変更 item.pkという情報をurl.pyに渡す--> 6 </tr> 7{% endfor %}

python

1# urls.py 2 3urlpatterns = [ 4 path('linelist/<int:pk>', linelist, name='linelist'),# 変更 <int:pk>にはitem.pkの情報が入る 5 path('teamlist/', teamlist, name='teamlist'),

python

1# views.py 2def linelist(request, pk):# 変更 関数にitem.pkの情報を渡す 3 team = Team.objects.get(pk=pk)# 追加 4 object_line = Department.objects.filter(team=team)# 変更 5 print(object_line) 6 return render( 7 request, 8 'linelist.html', {'object_line': object_line} 9 )

如何でしょうか?

投稿2021/10/03 07:52

編集2021/10/04 15:01
k888

総合スコア123

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

art35

2021/10/04 01:54

ご回答ありがとうございます。 試してみたところpage not foundになります。 どこが影響しているのでしょうか。 また、linelistを開いたところ linelist() missing 1 required positional argument: 'pk' と、エラーが出ています。 エラーで検索していろいろ試してみましたがうまくいきませんでした。
art35

2021/10/04 02:10

解決いたしました。 urls.pyのご回答いただきました内容の下記を urlpatterns = [ path('linelist/', linelist, name='linelist'), path('teamlist/<int:pk>', teamlist, name='teamlist'),# 変更 <int:pk>にはitem.pkの情報が入る 変更後 urlpatterns = [ path('linelist/'<int:pk>, linelist, name='linelist'), path('teamlist/', teamlist, name='teamlist'), このようにlinelistにpkを通したところ理想通りの動きが得られました。 本当に困っておりましたので感謝しております。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問