У меня есть набор Последствий , и у этих последствий есть лайков ManyToManyField, который хранит всех пользователей, у которых есть подобные последствия.
Что я хочуархив должен добавить к последствиям дополнительный временной вызов атрибута isLiked
Так что позже в шаблоне я могу добавить атрибут данных в html, указывающий, что пользователь запроса уже понравилсяПоследствия X.
Я пытаюсь сделать это с помощью этого подхода:
views.py
def list_consequences(request, proponsal_id):
try:
consequences: [Consequence] = Consequence.objects.filter(of_proponsal=proponsal_id)
user_likes =request.user.likes_consequences.get_queryset()
union = consequences | user_likes
for consequence in union:
aux =consequences.get(pk=consequence.pk)
aux.isLiked=True
pros: Consequence = consequences.filter(efecto=Consecuencia.PRO)
against: Consequence = consequences.filter(efecto=Consecuencia.AGAINST)
template = loader.get_template('participation/consequences.html')
context = {
'pros': pros,
'against': against,
'is_user_authenticated': str(request.user.is_authenticated).lower(),
}
return HttpResponse(template.render(context, request))
except Consequence.DoesNotExist:
raise Http404("The consequence with id doesn't exist")
Так что позже на шаблоне я могу сделать это:
Последствия.html
...
{% for pro in pros %}
<button data-is-liked={{pro.isLiked}}> icon</button>
{% endfor %}
...
Кто-то знает, как я мог это сделать?
Заранее спасибо
Версия Django: 2.0
Python:3.6.5