Как фильтровать выборку в шаблоне?

Имею:

class Data(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=_('User'))
    number = models.CharField(_('Number'), unique=True, max_length=6)

class Wallet(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=_('User'))
    data = models.ForeignKey(m.Data, null=True, verbose_name=_('Data'))

class DataListView(LoginRequiredMixin, TemplateView, BaseContextMixin):
    template_name = "data/list.html"
    login_url = reverse_lazy('users:login')

    def get_context_data(self, **kwargs):
        context = super(DataListView, self).get_context_data(**kwargs)
        context['my_data'] = self.request.user.data_set.all()
        return context


далее я в шаблоне вывожу:

{% for one in my_data %}

{% endfor %}


И получаю data текущего юзера: context['my_data'] = self.request.user.data_set.all()
Все отлично, но мне внутри цикла for необходимо вывести все wallet этого юзера по этой date. Использую

{% for wallet in one.wallet_set.all %}

{% endfor %}


В итоге я получаю все wallet даже не пренадлежащие текушему юзеру. Как настроить фильтр чтобы wallet были только от текущего user? Как в шаблонах использовать filter по моделям?
  • Вопрос задан
  • 130 просмотров
Решения вопроса 1
sim3x
@sim3x
Как фильтровать выборку в шаблоне?
никак.
Отвратительная практика
Фильтруй в модели, в крайнем случае, во вью
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы