Я создаю систему запросов на добавление в друзья для своего проекта. Для этого я реализовал ниже, где один пользователь может отправить запрос другому.
Если пользователи не являются друзьями (отношения не существуют в объекте друзей), то отображается опция ДОБАВИТЬ ДРУГА.
Если пользователи являются друзьями, то, войдя в систему как «from_user», на странице профиля «to_user» теперь отображается REQUEST SENT.
Мой запрос приходит после этого, когда я вхожу в аккаунт "to_user" и открываю профиль "from_user", кнопка должна быть ПРИНЯТА! Не могу понять, если еще для этого! В моей настройке он показывает ДОБАВИТЬ ДРУГА. Следовательно, нужна помощь, чтобы сделать это.
Models.py
class Friend(models.Model):
from_user = models.ForeignKey(User, on_delete=models.CASCADE )
to_user = models.ForeignKey(User, on_delete=models.CASCADE,
related_name="added" )
Views.py
class ProfilePage(DetailView):
model = models.UserCreation
context_object_name = 'profile'
def get_context_data(self, *args, **kwargs):
context = super(ProfilePage, self).get_context_data(*args, **kwargs)
user = User.objects.get(username=UserCreation.objects.get(id=self.kwargs.get('pk')))
print(user)
print(self.request.user)
try:
context['data'] = ProfileData.objects.get( user=user)
context['userdata'] = User.objects.get( username=user)
context['creationdata'] = UserCreation.objects.get( user=user)
context['sorted'] = sorted(chain(AddStatus.objects.filter(user=user), ImageLib.objects.filter(user=user)),key=lambda instance: instance.date, reverse=True)
context['friend'] = Friend.objects.get(from_user=self.request.user , to_user = user)
except ProfileData.DoesNotExist:
context['data']= None
except Friend.DoesNotExist:
context['friend']= None
return context
Template
{% if user.get_username|stringformat:'s' != creationdata.user|stringformat:'s' and creationdata.user|stringformat:'s' != friend.to_user|stringformat:'s' %}
<a href="{% url 'usercreation:addfriend' data.user.usercreation.pk %}" class="btn btn-primary" style="float:right">Add friend</a>
{% elif user.get_username|stringformat:'s' == friend.from_user|stringformat:'s' %}
<a href="#" class="btn btn-primary disabled" style="float:right">Request sent</a>
{% endif %}