Найти - Пользователи
Полная версия: необходима рекомендация по queryset
Начало » Django » необходима рекомендация по queryset
1
dev.evgen
модели:
class task(models.Model):
name = models.CharField(max_length = 100)

class day(models.Model):
task = models.ForeignKey(task)
index = models.DateField()

class event(models.Model):
day = models.ForeignKey(day)
priority = models.IntegerField()
descriprion = models.CharField(max_length = 200)
необходимо: в шаблоне отрисовать список задач, приоритетов в рамках всех дней по задаче и только при условии изменения приоритета.
выводимые поля: task.name, event.priority
особенности: спецификации должны быть с ifchanged по priority
реализация:
в шаблон выкидываю queryset task.objects.all()
в шаблоне:
{% for t in task %}
{{ t.name }}
{% for d in t.day_set.all %}
{% for e in d.event_set.all|dictsort:"priority" %}
{% ifchanged e.priority %}
{{ e.priority }}
{% endifchanged %}
{% endfor %}
{% endfor %}
{% endfor %}
проблема: тег ifchanged не оправдал ожиданий.

как бы вы решили эту задачу? заранее благодарен!
dev.evgen
fix: {% for e in d.event_set.all|dictsort:“priority” %} без сортировки
dev.evgen
написал для модели task метод. выглядит ужасно :)
def get_priority(self):
priority_list = []
tmp_priority = None
for day in self.day_set.all():
for event in day.event_set.all():
priority = content.priority
if tmp_priority != priority:
tmp_priority = priority
priority_list.append(priority)
else: pass
return priority_list
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB