SHOW:
|
|
- or go back to the newest paste.
1 | """ | |
2 | Error | |
3 | Django Version: 1.6 | |
4 | Exception Type: TypeError | |
5 | Exception Value: | |
6 | cannot concatenate 'str' and 'QuerySet' objects | |
7 | """ | |
8 | #models.py | |
9 | class Service(models.Model): | |
10 | service_name = models.CharField(max_length="250") | |
11 | service_port = models.IntegerField(max_length="200") | |
12 | box = models.ForeignKey(Box) | |
13 | ||
14 | class Meta: | |
15 | verbose_name_plural="services" | |
16 | ||
17 | def __unicode__(self): | |
18 | return self.service_name | |
19 | ||
20 | #views.py | |
21 | ||
22 | def get_box_services(request): | |
23 | box_id = request.GET.get("box_id", "") | |
24 | box_services = Service.objects.filter(box_id=box_id) | |
25 | render_to_response("box_services.html", | |
26 | {"box_services":box_services}) | |
27 | ||
28 | ||
29 | #template | |
30 | <table border="0" cellspacing="5" cellpadding="5"> | |
31 | <tr> | |
32 | <th>Service Name</th><th>Port</th><th>Options</th> | |
33 | </tr> | |
34 | {% for box_service in box_services %} | |
35 | <tr> | |
36 | <td>{{box_service.service_name}}</td> | |
37 | <td>{{box_service.service_port}}</td> | |
38 | <td>Start|Stop|Restart</td> | |
39 | </tr> | |
40 | {% endfor %} | |
41 | - | </table> |
41 | + | </table> |
42 | ||
43 | """ | |
44 | New traceback | |
45 | ||
46 | Environment: | |
47 | ||
48 | ||
49 | Request Method: GET | |
50 | Request URL: http://127.0.0.1:8000/get_box_services/?box_id=1 | |
51 | ||
52 | Django Version: 1.6 | |
53 | Python Version: 2.7.3 | |
54 | Installed Applications: | |
55 | ('django.contrib.admin', | |
56 | 'django.contrib.auth', | |
57 | 'django.contrib.contenttypes', | |
58 | 'django.contrib.sessions', | |
59 | 'django.contrib.messages', | |
60 | 'django.contrib.staticfiles', | |
61 | 'sysradar', | |
62 | 'monitor') | |
63 | Installed Middleware: | |
64 | ('django.contrib.sessions.middleware.SessionMiddleware', | |
65 | 'django.middleware.common.CommonMiddleware', | |
66 | 'django.middleware.csrf.CsrfViewMiddleware', | |
67 | 'django.contrib.auth.middleware.AuthenticationMiddleware', | |
68 | 'django.contrib.messages.middleware.MessageMiddleware', | |
69 | 'django.middleware.clickjacking.XFrameOptionsMiddleware') | |
70 | ||
71 | ||
72 | Template error: | |
73 | In template /home/oquidave/workspace/python/sysradar/monitor/templates/box_services.html, error at line 13 | |
74 | 'Service' object is not iterable | |
75 | 3 : <head> | |
76 | ||
77 | ||
78 | 4 : <meta charset="UTF-8"> | |
79 | ||
80 | ||
81 | 5 : <title>Insert title here</title> | |
82 | ||
83 | ||
84 | 6 : </head> | |
85 | ||
86 | ||
87 | 7 : <body> | |
88 | ||
89 | ||
90 | 8 : | |
91 | ||
92 | ||
93 | 9 : <table border="0" cellspacing="5" cellpadding="5"> | |
94 | ||
95 | ||
96 | 10 : <tr> | |
97 | ||
98 | ||
99 | 11 : <th>Service Name</th><th>Port</th><th>Options</th> | |
100 | ||
101 | ||
102 | 12 : </tr> | |
103 | ||
104 | ||
105 | 13 : {% for box_service in box_services %} | |
106 | ||
107 | ||
108 | 14 : <tr> | |
109 | ||
110 | ||
111 | 15 : <td>{{box_service.service_name}}</td> | |
112 | ||
113 | ||
114 | 16 : <td>{{box_service.service_port}}</td> | |
115 | ||
116 | ||
117 | 17 : <td>Start|Stop|Restart</td> | |
118 | ||
119 | ||
120 | 18 : </tr> | |
121 | ||
122 | ||
123 | 19 : {% endfor %} | |
124 | ||
125 | ||
126 | 20 : </table> | |
127 | ||
128 | ||
129 | 21 : | |
130 | ||
131 | ||
132 | 22 : </body> | |
133 | ||
134 | ||
135 | 23 : </html> | |
136 | ||
137 | Traceback: | |
138 | File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response | |
139 | 114. response = wrapped_callback(request, *callback_args, **callback_kwargs) | |
140 | File "/home/oquidave/workspace/python/sysradar/monitor/views.py" in get_box_services | |
141 | 95. {"box_services":box_services}) | |
142 | File "/usr/lib/python2.7/site-packages/django/shortcuts/__init__.py" in render_to_response | |
143 | 29. return HttpResponse(loader.render_to_string(*args, **kwargs), **httpresponse_kwargs) | |
144 | File "/usr/lib/python2.7/site-packages/django/template/loader.py" in render_to_string | |
145 | 164. return t.render(Context(dictionary)) | |
146 | File "/usr/lib/python2.7/site-packages/django/template/base.py" in render | |
147 | 140. return self._render(context) | |
148 | File "/usr/lib/python2.7/site-packages/django/template/base.py" in _render | |
149 | 134. return self.nodelist.render(context) | |
150 | File "/usr/lib/python2.7/site-packages/django/template/base.py" in render | |
151 | 840. bit = self.render_node(node, context) | |
152 | File "/usr/lib/python2.7/site-packages/django/template/debug.py" in render_node | |
153 | 78. return node.render(context) | |
154 | File "/usr/lib/python2.7/site-packages/django/template/defaulttags.py" in render | |
155 | 155. values = list(values) | |
156 | ||
157 | Exception Type: TypeError at /get_box_services/ | |
158 | Exception Value: 'Service' object is not iterable | |
159 | ||
160 | """ |