help please solve the problem

I redefined the str () method in the model:

class Gender(models.Model): gender= models.CharField( max_length=40, blank=False, ) def __str__(self): return self.status @classmethod def get_gender_list(self): return self.objects.all() 

views.py:

 def friends_search(request): t = loader.get_template('friends_search.html') c = RequestContext(request, { 'gender_list': Gender.get_gender_list(), }) return HttpResponse(t.render(c)) 

template.html:

  {% for key, item in gender_list %} -{{ key }}-{{ item }}- {% endfor %} 

fixtures: [{"model": "drummersaransk.Gender", "pk": 1, "fields": {"gender": "F"}}, {"model": "drummersaransk.Gender", "pk": 2, "fields": {"gender": "M"}}
]

The problem is that I can't get out of the template (id, gender) through the loop. that is, now in the above code, the void is displayed

    1 answer 1

    too lazy to write a lot of letters:
    self.objects.all() - will give an array of objects!
    Respectively, or change the template to the form for item in ... item.key item.value or view to the 'gender_list': {item.key: item.value for item in Gender.get_gender_list()}, or override the iter method in the model to type yield self.key, self.value

    ps: for key, value in range(5): pass