Django получить значения из связанной модели (Foreignkey)

В домашних условиях (views.py) как отобразить список всех упражнений (название и повторы), связанных с одной и той же пользовательской картой?

models.py

class Card(models.Model):
    user = models.OneToOneField(User)
    trainer = models.ForeignKey(User, related_name='trainer')
    def __unicode__(self):
        return u'%s' % (self.id)




class Exercise(models.Model):
    card = models.ForeignKey(Card)
    name = models.CharField(max_length=50)
    repetitions = models.IntegerField(default=0, blank=True, null=True)

    def __unicode__(self):
        return u'%s' % (self.name)

views.py

from django.http import HttpResponse
from django.contrib.auth.decorators import login_required
from cards.models import Card, Exercise

@login_required
def home(request):
    user = request.user.get_full_name()      
    return HttpResponse("Welcome %s This is your home." % (user))

1 ответ

Решение

Я никогда не сдамся и наконец исправлю это. Я попробовал это, и это работает.

@login_required
def home(request):
    user = request.user.get_full_name() 

    exercises = Exercise.object.filter(card__user=request.user)

    html = []
    for k in exercises:
        html.append('<tr><td>%s - %s</td></tr>' % (k.name, k.repetitions))
    return HttpResponse('Welcome %s This is your home.<br/><table>%s</table>' % (user, '\n'.join(html)))
Другие вопросы по тегам