質問編集履歴
8
バージョン情報の追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -341,5 +341,6 @@
|
|
341
341
|
```
|
342
342
|
|
343
343
|
### バージョン
|
344
|
+
- Python 3.7
|
344
345
|
- Django 2.2.5
|
345
|
-
-
|
346
|
+
- python-dotenv 0.15.0
|
7
表示の細かい変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
データベースのMemoテーブル(「プロジェクト構成・ファイル」のmodels.py参照)の一覧表示,タプルの新規作成ができる
|
1
|
+
データベースのMemoテーブル(「プロジェクト構成・ファイル」のmodels.py参照)の一覧表示,タプルの新規作成ができるwebアプリケーションを実装しました.そしてそのテーブルの属性の1つに,ManyToManyFieldでTagテーブルを指定し,実装しました.以下のふたつの疑問を解消したいです.
|
2
2
|
|
3
3
|
(疑問①)Memoテーブルの一覧表示にそれぞれのタグを表示するにはどのように実装すれば良いか.
|
4
4
|
|
6
表示の細かい変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,11 +1,9 @@
|
|
1
|
-
データベースのMemoテーブル(「プロジェクト構成・ファイル」のmodels.py参照)の一覧表示,タプルの新規作成ができるサイトを実装しました.そのテーブルの属性の1つにManyToManyFieldでTagテーブルを実装したのです
|
1
|
+
データベースのMemoテーブル(「プロジェクト構成・ファイル」のmodels.py参照)の一覧表示,タプルの新規作成ができるサイトを実装しました.そのテーブルの属性の1つにManyToManyFieldでTagテーブルを実装しました.以下のふたつの疑問を解消したいです.
|
2
2
|
|
3
|
-
(疑問①)Memoテーブルの一覧表示にそれぞれのタグを表示するにはどのように
|
3
|
+
(疑問①)Memoテーブルの一覧表示にそれぞれのタグを表示するにはどのように実装すれば良いか.
|
4
4
|
|
5
|
-
|
5
|
+
(疑問②)Memoテーブルに指定したMemoCreateViewで,Tagテーブルのタプルを新規作成するフォームをどのように実装すれば良いか.(MemoCreateViewでの実装は一般的ではないのか)
|
6
6
|
|
7
|
-
(疑問②)modelをMemoテーブルに指定したMemoCreateViewで,Tagテーブルのタプルを新規作成したい場合の実装方法がわかりません.MemoCreateViewでは実装できないのでしょうか.
|
8
|
-
|
9
7
|
webアプリケーション初心者です.認識なども間違っている点があると思うのでご指摘いただきたいです.
|
10
8
|
|
11
9
|
[本プロジェクトのGitHubリポジトリ](https://github.com/tom-takeru/django_test_project1)
|
5
表示の細かい変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
また,
|
6
6
|
|
7
|
-
(疑問②)modelをMemoテーブルに指定したMemoCreateViewで,
|
7
|
+
(疑問②)modelをMemoテーブルに指定したMemoCreateViewで,Tagテーブルのタプルを新規作成したい場合の実装方法がわかりません.MemoCreateViewでは実装できないのでしょうか.
|
8
8
|
|
9
9
|
webアプリケーション初心者です.認識なども間違っている点があると思うのでご指摘いただきたいです.
|
10
10
|
|
4
表示の細かい変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
また,
|
6
6
|
|
7
|
-
(疑問②)modelをMemoテーブルに指定し
|
7
|
+
(疑問②)modelをMemoテーブルに指定したMemoCreateViewで,タグテーブルのタプルを新規作成したい場合の実装方法がわかりません.MemoCreateViewでは実装できないのでしょうか.
|
8
8
|
|
9
9
|
webアプリケーション初心者です.認識なども間違っている点があると思うのでご指摘いただきたいです.
|
10
10
|
|
3
表示の細かい変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
データベースのMemoテーブル(「プロジェクト構成・ファイル」のmodels.py参照)の一覧表示,タプルの新規作成ができるサイトを実装しました.そのテーブルの属性の1つにManyToManyFieldでTagテーブルを実装したのですが,
|
2
2
|
|
3
|
-
①Memoテーブルの一覧表示にそれぞれのタグを表示するにはどのように記述すれば良いでしょうか.
|
3
|
+
(疑問①)Memoテーブルの一覧表示にそれぞれのタグを表示するにはどのように記述すれば良いでしょうか.
|
4
4
|
|
5
5
|
また,
|
6
6
|
|
7
|
-
②modelをMemoテーブルに指定しform_classもMemoテーブルを元にしたModelFormを指定したMemoCreateViewで,タグテーブルのタプルを新規作成したい場合の実装方法がわかりません.MemoCreateViewでは実装できないのでしょうか.
|
7
|
+
(疑問②)modelをMemoテーブルに指定しform_classもMemoテーブルを元にしたModelFormを指定したMemoCreateViewで,タグテーブルのタプルを新規作成したい場合の実装方法がわかりません.MemoCreateViewでは実装できないのでしょうか.
|
8
8
|
|
9
9
|
webアプリケーション初心者です.認識なども間違っている点があると思うのでご指摘いただきたいです.
|
10
10
|
|
@@ -42,7 +42,7 @@
|
|
42
42
|
```
|
43
43
|
|
44
44
|
```python
|
45
|
-
# models.py
|
45
|
+
# memo/models.py
|
46
46
|
|
47
47
|
from django.db import models
|
48
48
|
|
@@ -80,7 +80,7 @@
|
|
80
80
|
```
|
81
81
|
|
82
82
|
```python
|
83
|
-
# urls.py
|
83
|
+
# memo/urls.py
|
84
84
|
|
85
85
|
from django.urls import path
|
86
86
|
from . import views
|
@@ -94,7 +94,7 @@
|
|
94
94
|
```
|
95
95
|
|
96
96
|
```python
|
97
|
-
# views.py
|
97
|
+
# memo/views.py
|
98
98
|
|
99
99
|
from django.views.generic import ListView
|
100
100
|
from django.views.generic import CreateView
|
@@ -120,7 +120,7 @@
|
|
120
120
|
```
|
121
121
|
|
122
122
|
```python
|
123
|
-
# forms.py
|
123
|
+
# memo/forms.py
|
124
124
|
|
125
125
|
from django.forms import ModelForm
|
126
126
|
from .models import Memo
|
@@ -133,7 +133,7 @@
|
|
133
133
|
```
|
134
134
|
|
135
135
|
```html
|
136
|
-
<!-- memo_list.html -->
|
136
|
+
<!-- memo/templates/memo_list.html -->
|
137
137
|
|
138
138
|
<!DOCTYPE html>
|
139
139
|
<html lang="ja">
|
@@ -166,7 +166,7 @@
|
|
166
166
|
```
|
167
167
|
|
168
168
|
```html
|
169
|
-
<!-- memo_create.html -->
|
169
|
+
<!-- memo/templates/memo_create.html -->
|
170
170
|
|
171
171
|
<!DOCTYPE html>
|
172
172
|
<html lang="ja">
|
@@ -187,7 +187,7 @@
|
|
187
187
|
|
188
188
|
```
|
189
189
|
|
190
|
-
# 疑問①に関した試したこと
|
190
|
+
## 疑問①に関した試したこと
|
191
191
|
- memo.tagsをforタグでまわす
|
192
192
|
|
193
193
|
memo_list.htmlのなかでmemo.tagsをforタグでまわそうとしたところ,ブラウサにDjangoのエラーが出力されてしまいました.エラーによると「memo.tagsはManyRelatedMnager objectであり,iterableではない」とのことなのですが,ManyRelatedManagerとはなんなのでしょうか.
|
@@ -272,7 +272,7 @@
|
|
272
272
|
```
|
273
273
|
|
274
274
|
|
275
|
-
# 疑問②に関して試したこと
|
275
|
+
## 疑問②に関して試したこと
|
276
276
|
|
277
277
|
django.views.generic.CreateViewを継承したViewClassでのタグの新規作成フォームの作成方法はわかりませんでした.django.views.generic.Viewを継承したクラスを用いて,自分でformをテンプレートに記述してみましたが,Memoテーブルのタプルの新規作成用のformタグの中で,Tagテーブルのタプルの新規作成用のフォームタグを実装する方法がわかりませんでした.調べたところformタグのネストはできないようです.このような状況の場合の良い実装方法を教えてください.別々に記述するしかないのでしょうか.
|
278
278
|
|
@@ -342,6 +342,6 @@
|
|
342
342
|
|
343
343
|
```
|
344
344
|
|
345
|
-
#
|
345
|
+
### バージョン
|
346
346
|
- Django 2.2.5
|
347
347
|
- Python 3.7
|
2
表示の細かい変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -187,10 +187,9 @@
|
|
187
187
|
|
188
188
|
```
|
189
189
|
|
190
|
-
# 試したこと
|
190
|
+
# 疑問①に関した試したこと
|
191
|
-
|
191
|
+
- memo.tagsをforタグでまわす
|
192
192
|
|
193
|
-
### 試したこと(1)
|
194
193
|
memo_list.htmlのなかでmemo.tagsをforタグでまわそうとしたところ,ブラウサにDjangoのエラーが出力されてしまいました.エラーによると「memo.tagsはManyRelatedMnager objectであり,iterableではない」とのことなのですが,ManyRelatedManagerとはなんなのでしょうか.
|
195
194
|
|
196
195
|
```html
|
@@ -227,7 +226,8 @@
|
|
227
226
|
Exception Value: 'ManyRelatedManager' object is not iterable
|
228
227
|
```
|
229
228
|
|
230
|
-
|
229
|
+
- get_querysetメソッドでタグをわたす
|
230
|
+
|
231
231
|
MemoListViewクラスのget_querysetメソッドの中でmemoオブジェクトにmemo.tag_listという属性を追加したところ,表示できました.この実装は最も良い方法なのでしょうか.また,select_relatedメソッドはDBの読み込み回数を省略できるとのことだったので,後ろに付けたのですが,使い方は正しいのでしょうか.
|
232
232
|
|
233
233
|
```python
|
@@ -272,7 +272,7 @@
|
|
272
272
|
```
|
273
273
|
|
274
274
|
|
275
|
-
#
|
275
|
+
# 疑問②に関して試したこと
|
276
276
|
|
277
277
|
django.views.generic.CreateViewを継承したViewClassでのタグの新規作成フォームの作成方法はわかりませんでした.django.views.generic.Viewを継承したクラスを用いて,自分でformをテンプレートに記述してみましたが,Memoテーブルのタプルの新規作成用のformタグの中で,Tagテーブルのタプルの新規作成用のフォームタグを実装する方法がわかりませんでした.調べたところformタグのネストはできないようです.このような状況の場合の良い実装方法を教えてください.別々に記述するしかないのでしょうか.
|
278
278
|
|
1
タイトルの変更
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
Django
|
1
|
+
DjangoのManyToManyFieldを用いたタグ機能の使い方がわからない
|
body
CHANGED
File without changes
|