On Monday, 1 December 2014 19:07:59 UTC, check....@gmail.com wrote:
-- HelloI am very new to python and Django . I have a basic question :1. I have three database tables : Table A , Table B and Table C2. in my views.py i do :for x in tableB_QuerySet
- tableB_QuerySet = models.TableB.objects.filter(
table_ID = <some value>) - This returns 4 rows from table B
- Then i iterate over tableB_QuerySet
tableC_QuerySet = models.TableC.objects.filter(tableC_id = x.<fieldname>)
- I load the temple : template = loader.get_template(>.html>)
- i use context : context = RequestContext(request,{ 'tableC_QuerySet': tableC_
QuerySet,}) - return HttpResponse(template.render(
context)) 3. In my html template i iterate over tableC_QuerySet and print it in a tableproblem is that in my HTML prints only the last entry of tableC_QuerySet . How do i append all the four entries from table C so that HTML gets all the four entries rather than just the last onePS: I cannot change the DBThanks in advanceAppreciate your help
Well, this is a basic programming issue, and nothing to do with Python or Django.
Each time through your loop, you re-assign `tableC_QuerySet` to a new value. So, naturally, the value that it has at the end of the loop is whatever it had in the last iteration. If you want to get all the elements from each iteration, you'll need to put them into a list. For example:
values = []
for x in tableB_QuerySet:
values.extend(list(models.TableC.objects.filter(tableC_id = x.<fieldname>)))
In addition, there is almost certainly a more efficient way to do it, rather than doing a separate query for each tableB item, but without seeing more details of your models it's impossible to help further.
--
DR.
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/44fcfb41-ab96-4cc4-a74c-9ae0b6d7c4c8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
No comments:
Post a Comment