Язык шаблонов Django: Создание условий для всей модели (не для каждой записи)
Проблема новичка. В шаблоне используется следующий скрипт ...
{% if request.user not in myModel %}
<p>You have no account in the system.</p>
{% endif %}
... утверждение "У вас нет счета в системе." появляется на экране 100 раз - потому что есть 100 записей и поэтому условие проверяется 100 раз.
Есть ли способ модифицировать скрипт так, чтобы утверждение появлялось только один раз? То есть, он проверяет всю базу данных один раз на наличие признаков того, что request.user появляется где-либо в модели в aggregrate (а не появляется ли он в каждой из 100 записей в базе данных)?
Возможно, есть более простой/лучший способ сделать это в views.py по сравнению с шаблоном, но это за пределами моих знаний. Спасибо.
views.py
Поскольку требование состоит в том, чтобы отобразить, есть ли у вошедшего пользователя учетная запись в модели 'Result' или нет. Я отфильтровал строки, специфичные для пользователя. Вы можете выполнить цикл по user_specific в вашем шаблоне. Если пользователь присутствует в модели 'Result', то в 'user_specifc' будут элементы. Если пользователь не присутствует в таблице 'Result', 'user_specific' будет пустым. В своем шаблоне вы можете проверить, является ли 'user_specific' пустым списком или нет
class VoteForm(LoginRequiredMixin, CreateView):
model = Result
form_class = VotingForm
template_name = 'users/vote_form.html'
def get_context_data(self, **kwargs):
context = super().get_context_data()
context["Result"] = Result.objects.all()
context['user_specific'] = Result.objects.filter(custom_user=self.request.user)
return context