Как получить дату из базы данных и отобразить в шаблоне? - PullRequest
0 голосов
/ 04 февраля 2011

Я полный Python и Django Noob, поэтому любая помощь приветствуется.Вот как выглядит моя модель:

class Matches(models.Model):
    id = models.AutoField(primary_key=True)
    date = models.DateTimeField()
    court = models.ForeignKey(Courts)

class Participants(models.Model):
    id = models.AutoField(primary_key=True)
    match = models.ForeignKey(Matches)
    userid = models.ForeignKey(User)
    games_won = models.IntegerField()

Вот так выглядит мой взгляд:

def index(request):
    latest_matches_list = Matches.objects.all()[:5]
    return render_to_response('squash/index.html', {'latest_matches_list': latest_matches_list})
    return HttpResponse(output)

И мой шаблон:

{% if latest_matches_list %}
    {% for matches in latest_matches_list %}
        {{ match.id }}
    {% endfor %}
{% else %}
    <p>No matches are available.</p>
{% endif %}

Два вопроса:

Когда я делаю Matches.objects.all() в консоли оболочки, он возвращает: [<Matches: Matches object>].Почему он не печатает идентификатор и дату?

В файле шаблона я изначально пытаюсь проверить вывод идентификатора Matches, но, похоже,работатьКакая переменная мне нужна для {{ match.id }}.Цель состоит в том, чтобы распечатать следующее за матч:
[matchid]    [date]    [time]     [player1_wins]  [player2_wins]
1            1-1-2011  20:00      6            8

1 Ответ

1 голос
/ 04 февраля 2011

1: откуда он знает, что нужно печатать идентификатор и дату из всех полей, которые у вас могут быть?

Вы можете определить, что ваш объект возвращает при печати, определив __unicode__
http://docs.djangoproject.com/en/dev/ref/models/instances/#django.db.models.Model.unicode

# ... model class

def __unicode__(self):
    return "%s %s" % (self.id, self.date)

2: В вашем шаблоне вы перебираете latest_matches_list с переменной matches, но используете {{ match.id }}, который не определен. Используйте {{ matches.id }}.

{% for matches in latest_matches_list %}
    {{ match.id }} <!-- not defined -->
    {{ matches.id }} <!-- this is your variable -->
{% endfor %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...