Я создаю веб-сайт для автопарка как проект класса. Мне нужно внедрить систему друзей на моем сайте. Это простая система друзей, в которой пользователи могут добавлять или удалять другого пользователя в качестве друга, при этом запросы на добавление в друзья не нужны. Мне также необходимо отобразить список друзей для пользователя в шаблоне HTML. Я очень новичок в Django и веб-разработке.
Я использую AbstractUser из django.contrib.auth.models в качестве моей пользовательской модели.
from django.contrib.auth.models import AbstractUser
from django.db import models
class CustomUser(AbstractUser):
pass
def __str__(self):
return self.email
class UserFriends(models.Model):
current_user = models.ForeignKey(CustomUser, related_name='owner', null=True, on_delete=models.CASCADE)
users = models.ManyToManyField(CustomUser, blank=True)
def add_friend(cls, current_user, new_friend):
friend, created = cls.objects.get_or_create(current_user=current_user)
friend.users.add(new_friend)
def remove_friend(cls, current_user, new_friend):
friend, created = cls.objects.get_or_create(current_user=current_user)
friend.users.remove(new_friend)
def __str__(self):
return str(self.current_user)