質問編集履歴

7

コードの修正。何度も何度も修正してしまい申し訳ありません。

2021/06/21 09:08

投稿

nnnnnnn-kkkkkk
nnnnnnn-kkkkkk

スコア39

test CHANGED
File without changes
test CHANGED
@@ -102,7 +102,7 @@
102
102
 
103
103
  for url in url_list:
104
104
 
105
- for link in link_list: # linklistにはurlランダムにれています。
105
+ for link in link_list: # linklistには外側のループ毎にいくつかのurlランダムに格納されています。
106
106
 
107
107
  new_link = Link(source=url, target=link)
108
108
 

6

コードの修正

2021/06/21 09:08

投稿

nnnnnnn-kkkkkk
nnnnnnn-kkkkkk

スコア39

test CHANGED
File without changes
test CHANGED
@@ -98,13 +98,15 @@
98
98
 
99
99
  link_items = list()
100
100
 
101
- url = ['algorithm.html', 'data.html', 'graph.html', 'search.html', 'sort.html'] # これを一つずつforで回しています。
101
+ url_list = ['algorithm.html', 'data.html', 'graph.html', 'search.html', 'sort.html']
102
102
 
103
- for link in link_list: # linklistにはurlをランダムに入れています。
103
+ for url in url_list:
104
104
 
105
- new_link = Link(source=url, target=link)
105
+ for link in link_list: # linklistにはurlをランダムに入れています。
106
106
 
107
+ new_link = Link(source=url, target=link)
108
+
107
- link_items.append(new_link)
109
+ link_items.append(new_link)
108
110
 
109
111
  db.session.add_all(link_items)
110
112
 

5

文章の修正

2021/06/21 09:06

投稿

nnnnnnn-kkkkkk
nnnnnnn-kkkkkk

スコア39

test CHANGED
File without changes
test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
  model.pyで定義したLinkクラスの「特定のtargetのsourceだけを抜き取りたい」と考えて上記の処理を記述したのですが、source_listになにも格納されません。
20
20
 
21
- 例えば、以下のようにLinkにはデータが格納されています。
21
+ 以下のようにLinkにはデータが格納されています。
22
22
 
23
23
 
24
24
 
@@ -48,7 +48,7 @@
48
48
 
49
49
 
50
50
 
51
- しかし、以下だとできない。
51
+ しかし、以下だとできないです
52
52
 
53
53
 
54
54
 

4

より情報を加筆

2021/06/21 09:04

投稿

nnnnnnn-kkkkkk
nnnnnnn-kkkkkk

スコア39

test CHANGED
File without changes
test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
  model.pyで定義したLinkクラスの「特定のtargetのsourceだけを抜き取りたい」と考えて上記の処理を記述したのですが、source_listになにも格納されません。
20
20
 
21
- 例えば、以下のようにデータが格納されています。
21
+ 例えば、以下のようにLinkにはデータが格納されています。
22
22
 
23
23
 
24
24
 
@@ -32,11 +32,11 @@
32
32
 
33
33
  ```
34
34
 
35
- 条件にtarget(右の値)==data.htmlを持っているLinkのsourceだけのリストを作りたいです。
35
+ 例えば、target(右の値)==data.htmlを持っているLinkのsourceだけのリストを作りたいです。
36
36
 
37
37
 
38
38
 
39
- targetの値絞ると以下のように出力されます。
39
+ targetの値絞ると以下のように出力されます。
40
40
 
41
41
  ```ここに言語を入力
42
42
 
@@ -45,6 +45,30 @@
45
45
  ↓出力
46
46
 
47
47
  [('algorithm.html',), ('graph.html',), ('search.html',), ('sort.html',)]
48
+
49
+
50
+
51
+ しかし、以下だとできない。
52
+
53
+
54
+
55
+ url_list = ['algorithm.html', 'data.html', 'graph.html', 'search.html', 'sort.html']
56
+
57
+ for url in url_list:
58
+
59
+ print(url)
60
+
61
+ print(type(url))
62
+
63
+ source_list = db.session.query(Link.source).filter_by(target= f"{url}").all() # (target=url)もだめでした。
64
+
65
+ ↓出力
66
+
67
+ algorithm.html
68
+
69
+ <class 'str'>
70
+
71
+ []
48
72
 
49
73
  ```
50
74
 

3

足りない情報を加筆

2021/06/21 09:02

投稿

nnnnnnn-kkkkkk
nnnnnnn-kkkkkk

スコア39

test CHANGED
File without changes
test CHANGED
@@ -24,19 +24,33 @@
24
24
 
25
25
  ```ここに言語を入力
26
26
 
27
- source ["aaa.html", "bbb.html", "ccc.html"]
27
+ links = Link.query.all()
28
28
 
29
-       ↓      ↓
29
+ 出力
30
30
 
31
- target ["ddd.html", "eee.html", "fff.html"]
31
+ [<Link algorithm.html, data.html>, <Link algorithm.html, search.html>, <Link algorithm.html, sort.html>, <Link data.html, graph.html>, <Link graph.html, data.html>, <Link graph.html, search.html>, <Link search.html, data.html>, <Link search.html, sort.html>, <Link sort.html, data.html>, <Link sort.html, search.html>]
32
32
 
33
33
  ```
34
34
 
35
- 上記のように条件にaaa.htmlと絞り、targetにある値取得したいです。
35
+ 条件にtarget(右の値)==data.htmlを持っているLinkのsourceだけのリスト作りたいです。
36
36
 
37
37
 
38
38
 
39
+ targetの値を絞ると以下のように出力されます。
40
+
41
+ ```ここに言語を入力
42
+
39
- Linksourceとtargetにそれぞれ値が入っているのは確認しています。url, source, target はすべてstr型です。
43
+ links = db.session.query(Link.source).filter_by(target="data.html").all()
44
+
45
+ ↓出力
46
+
47
+ [('algorithm.html',), ('graph.html',), ('search.html',), ('sort.html',)]
48
+
49
+ ```
50
+
51
+
52
+
53
+ モデルは以下のとおりです。
40
54
 
41
55
  ```ここに言語を入力
42
56
 
@@ -60,9 +74,9 @@
60
74
 
61
75
  link_items = list()
62
76
 
63
- url = "aaa.html"
77
+ url = ['algorithm.html', 'data.html', 'graph.html', 'search.html', 'sort.html'] # これを一つずつforで回しています。
64
78
 
65
- for link in link_list: # linklistには["ddd.html", "eee.html", "fff.html"]といったよう格納されています。
79
+ for link in link_list: # linklistにはurlをランダムれています。
66
80
 
67
81
  new_link = Link(source=url, target=link)
68
82
 

2

コードの修正

2021/06/21 08:50

投稿

nnnnnnn-kkkkkk
nnnnnnn-kkkkkk

スコア39

test CHANGED
File without changes
test CHANGED
@@ -60,6 +60,8 @@
60
60
 
61
61
  link_items = list()
62
62
 
63
+ url = "aaa.html"
64
+
63
65
  for link in link_list: # linklistには["ddd.html", "eee.html", "fff.html"]といったように格納されています。
64
66
 
65
67
  new_link = Link(source=url, target=link)

1

より詳細に。

2021/06/21 08:24

投稿

nnnnnnn-kkkkkk
nnnnnnn-kkkkkk

スコア39

test CHANGED
File without changes
test CHANGED
@@ -16,7 +16,27 @@
16
16
 
17
17
  ```
18
18
 
19
- model.pyで定義したLinkクラスの「特定のtargetのsourceだけを抜き取りたい」と考えて上記の処理を記述したのですが、source_listになにも格納されません。Linkのsourceとtargetにそれぞれ値が入っているのは確認しています。url, source, target はすべてstr型です。
19
+ model.pyで定義したLinkクラスの「特定のtargetのsourceだけを抜き取りたい」と考えて上記の処理を記述したのですが、source_listになにも格納されません。
20
+
21
+ 例えば、以下のようにデータが格納されています。
22
+
23
+
24
+
25
+ ```ここに言語を入力
26
+
27
+ source → ["aaa.html", "bbb.html", "ccc.html"]
28
+
29
+ ↓      ↓      ↓
30
+
31
+ target → ["ddd.html", "eee.html", "fff.html"]
32
+
33
+ ```
34
+
35
+ 上記のように条件にaaa.htmlと絞り、targetにある値を取得したいです。
36
+
37
+
38
+
39
+ Linkのsourceとtargetにそれぞれ値が入っているのは確認しています。url, source, target はすべてstr型です。
20
40
 
21
41
  ```ここに言語を入力
22
42
 
@@ -34,4 +54,24 @@
34
54
 
35
55
 
36
56
 
57
+ また、格納は以下のコードで行いました。
58
+
59
+ ```ここに言語を入力
60
+
61
+ link_items = list()
62
+
63
+ for link in link_list: # linklistには["ddd.html", "eee.html", "fff.html"]といったように格納されています。
64
+
65
+ new_link = Link(source=url, target=link)
66
+
67
+ link_items.append(new_link)
68
+
69
+ db.session.add_all(link_items)
70
+
71
+ db.session.commit()
72
+
73
+ ```
74
+
75
+
76
+
37
77
  行き詰まっています。何卒ご教授よろしくお願いいたします。