View difference between Paste ID: 4zPLj651 and sXZJ5UqM
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
"""