help please extract and display data with foreignKey

models.py:

class Gender(models.Model): gender = models.CharField( max_length=10, blank=False, ) class UserProfile(User): name1 = models.CharField( 'Имя', max_length=30, blank=True, null=True, ) gender = models.ForeignKey( Gender, default=0, ) 

fixtures:

 [ { "model": "drummersaransk.Gender", "pk": 1, "fields": { "gender": "none" } }, { "model": "drummersaransk.Gender", "pk": 2, "fields": { "gender": "male" } }, { "model": "drummersaransk.Gender", "pk": 3, "fields": { "gender": "female" } } ] 

views.py:

 def user_personal(request, id): entries_user_profile = UserProfile.objects.get(user_ptr_id=id) t = loader.get_template('user_personal.html') c = RequestContext(request, { 'entries_user_profile': entries_user_profile, }) return HttpResponse(t.render(c)) 

user_personal.html:

 {% if entries_user_profile.gender_id %} <tr> <td class="label">Пол</td> <td class="gender info">{{ entries_user_profile.gender_id }}</td> </tr> {% endif %} 

the problem is that the gender value is not displayed from the Gender table (none, male or female)

ps tried to print like this: <td class="gender info">{{ entries_user_profile.gender.gender }}</td> value is displayed

pps please do not suggest using CHOICES

    1 answer 1

     {{ entries_user_profile.gender.gender }} 

    It is right. Apparently there is simply nothing there. Is the user exactly given the floor? Because the default is assigned 0 , and in the database there are no entries with id=0 ...

    • natyurlih )) everything is really true) - cyklop77
    • one
      Writing 'none' in the model is not very correct. You have no data - let there be None, not a ForeignKey on an "type of empty" object - ravli