помогите пожалуйста решить проблему с выборкой для d1.6
есть модель:
from django.db import models
from django.forms import ModelForm
class Anekdots(models.Model):
CATEGORY_CHOICES = (
(u'Пошлые', u'Пошлые'),
(u'Чёрный юмор', u'Чёрный юмор'),
(u'О Штирлице', u' О Штирлице'),
)
body = models.TextField(max_length=1000)
author = models.CharField(max_length=100)
category = models.CharField(max_length=20, choices=CATEGORY_CHOICES)
@classmethod
def get_all_entries(self):
return self.objects.all()
@classmethod
def get_distinct_category(self):
return self.objects.values_list('category').distinct()
данные из неё выводятся через views:
def custom_proc(request):
return {
'BASE_DIR': settings.BASE_DIR,
'all_entries_anekdots': Anekdots.get_all_entries(),
'all_distinct_category': Anekdots.get_distinct_category(),
}
в шаблон:
<div id="tabsWrap" class="tabs_wrap">
<div id="tabContainer" class="tab_container">
{% for entrie in all_distinct_category %}
<section class="tab">
<h1>{{ entrie.category }}</h1> <!--category -->
<article>
<p>1Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod te</p> <!--body -->
<div class="author_contaiter">
<div class="author_label">Прислал </div>
<div class="author_body"></div> <!--author -->
</div>
</article>
</section>
{% endfor %}
</div>
</div>
приведённый код конечно у меня не работает. это попытка. подскажите пожалуйста как сделать выборку?
здесь проблемы две:
- 1 нужно как то сделать выборку уникальных значений в поле category(в
чистом sql пришлось бы использовать DISTINCT)
- 2 непонятно как в шаблоне вывести все значенияю то есть все анекдоты
поделены на 3 группы и каждая имеет свой заголовок <h1>. здесь
обычным {% for %} воспользоваться не получится
здесь можно посмотреть результат, реализованный на чистом html(в левой колоке верхний блок)