У меня есть эти модели:Есть ли лучший способ моделирования этих отношений?
class Assignment(db.Model):
title = db.StringPeoperty(required=True)
...other stuff...
class TeamScore(db.Model):
assignment = db.ReferenceProperty(Assignment,
collection_name="teamScores",
required=True)
teamID = db.IntegerProperty(required = True)
score = db.IntegerProperty(required = True)
...other stuff...
Вот peoblem. На главной странице я хочу показать первую тройку (на основе оценки) командной работы каждого задания. Итак, я передать это в шаблон:
assignments = Assignment.all()
В шаблоне:
{% for assignment in assignments%}
**<!--How to implement showing the top three-->**
{% for score in assignment.teamScores%}
{{score.teamID}}
{{score.score}}
...............
{% endfor%}
{%endfor%}
С помощью этой модели хранилища данных. Мне нужно сортировать в шаблоне, это невозможно. Поэтому, я думаю, у этого может быть лучшая модель для решения этой проблемы. Но я не могу понять. Я думал об этой идее, которая добавляет ListProperty для хранения первой тройки. Каждый раз, когда генерируется новый TeamScore, я сравниваю это с результатами в Списке, чтобы сохранить первые три новых. Но я думаю, что этот путь не является оправданием.
Можете ли вы дать мне какое-нибудь предложение?
Спасибо!
Спасибо, Ник. Но есть много заданий, для каждого задания мне нужен TOP3. Если я делаю запрос в моем файле python, это означает, что мне нужно повторить все эти назначения и найти TOP3 для всех. Вы предлагаете мне поместить все TOP3 каждого задания в один список баллов? Я пытаюсь выполнить user_essionEntity.teamScores.order ('- score'). Fetch (3) ', чтобы получить ТОП-3 одного задания, но кажется, что порядок не работает. Функция заказа не может использовать пользовательскую ссылку, не так ли? – hakunami
@stevenYANG Да, но вам нужно будет делать много запросов независимо от того, где вы это делаете. Я бы предложил создать список кортежей (назначение, top-3), где второй элемент - список лучших результатов. –
Извините, я просто хочу дать понять, что ДА означает, что я могу заказать свойство refernece? Код, который я пишу в последнем комментарии, доступен? – hakunami