To retrieve data from django database and display in table
41,534
I got the answer. It is working fine now.
Views.py:
def displaytrans(request):
TransType.objects.all()
info = TransType.objects.all()
info2 = Trans.objects.all()
print info
bookdata = { "detail" : info, "details" : info2 }
print bookdata
resp = render_to_response("account/displaytrans.html", bookdata, context_instance=Context(request))
return resp
displaytrans.html:
<!doctype html>
<html>
<body>
<table border="1" style="width:800px">
<tr>
<td> {% for s in details %} </td>
<td> {{ s.script }} </td>
</tr>
<tr>
<td> {{ s.transtype_id}} </td>
{% endfor %}
</tr>
</table>
</body>
</html>
url.py:
url(r'^displaytrans/$', 'booki.account.views.displaytrans', name='displaytrans'),
Author by
user1862399
Updated on November 05, 2020Comments
-
user1862399 over 3 years
I am trying to retrieve data from db in django. I want to display it in a table. I am getting an error as:\
coercing to Unicode: need string or buffer, TransType found
There are two models in my Models.py file:
class TransType(models.Model): name = models.TextField() created = models.DateTimeField(auto_now_add = True) updated = models.DateTimeField(auto_now = True) def __unicode__(self): return self.name class Trans(models.Model): transtype = models.ForeignKey(TransType) script = models.CharField(max_length=200) created = models.DateTimeField(auto_now_add = True) updated = models.DateTimeField(auto_now = True) class Meta: unique_together = (("transtype", "script"),) def __unicode__(self): return self.transtype`
My views.py file
def updatetrans(request): json_data=open('/home/ttt/Ali/a.json').read() data = json.loads(json_data) for pk, pv in data.iteritems(): for k,v in pv.iteritems(): try: trans_type = TransType.objects.get_or_create(name=k) trans = Trans() trans.transtype_id = trans_type[0].id if isinstance(pv[k], basestring): script = pv[k] else: print "****** List ****" script = pv[k][1] trans.script = script trans.save() print " Inserted ==>", script except Exception, e: print e #print "Not inserted ==>", pv[k][1] pass #return HttpResponse("Done") info = TransType.objects.all() info2 = Trans.objects.all() bookdata = { "details" : info, "details" : info2 } print bookdata return render_to_response("account/updatetrans.html", bookdata, context_instance=Context(request))
My url.py file
url(r'^updatetrans/$', 'booki.account.views.updatetrans', name='updatetrans'),
My updatetrans.html file
{% load i18n %} <!doctype html> <html> <body> <button type="button" onclick="alert('Hello world!')">Click Me!</button> <table border="1" style="width:800px"> <tr><td> {% for s in details %} {{ s.script }} {% endfor %} </td> <td> {% for n in detail %} {{ n.name }} {% endfor %} </td> </tr> </table> </body> </html>
Plz help....
Traceback
Environment: Request Method: GET
enter code here Django Version: 1.3 Python Version: 2.7.3 Installed Applications: ['django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.admin', 'django.contrib.messages', 'south', 'booki.editor', 'booki.account', 'booki.reader', 'booki.portal', 'booki.messaging', 'sputnik', 'booktypecontrol'] Installed Middleware: ('django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.middleware.transaction.TransactionMiddleware', 'django.contrib.messages.middleware.MessageMiddleware') Traceback: File "/home/ttt/abc_booktype/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response 111. response = callback(request, *callback_args, **callback_kwargs) File "/home/ttt/abc_booktype/Booktype/lib/booki/account/views.py" in updatetrans 808.print bookdata File "/home/ttt/abc_booktype/local/lib/python2.7/site-packages/django/db/models/query.py" in __repr__72. return repr(data) File "/home/ttt/abc_booktype/local/lib/python2.7/site-packages/django/db/models/base.py" in __repr__370. u = unicode(self) Exception Type: TypeError at /accounts/updatetrans/ Exception Value: coercing to Unicode: need string or buffer, TransType found