У меня есть две модели: одна модель пользователя, а другая модель контакта.
Модель контакта выглядит следующим образом:
class Contact(models.Model):
pass
user = models.ForeignKey(settings.AUTH_USER_MODEL, default=1, null=True, on_delete=models.CASCADE, verbose_name=_('User'), related_name="user")
contact = models.ForeignKey(settings.AUTH_USER_MODEL, default=1, null=True, on_delete=models.CASCADE, verbose_name=_('Contact'), related_name="contact")
created_at = models.DateTimeField(auto_now=False, auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True, auto_now_add=False)
is_contact = models.BooleanField(default=False)
создать контакт для пользователя. Вид запроса дружбы и принятия простой модели. Таким образом, пользователь, вошедший в систему (request.user), может быть contact.user или contact.contact.
И settings.AUTH_USER_MODEL - это модель CustomUser:
class CustomUser(AbstractUser):
pass
email = models.EmailField(unique=True)
first_name = models.CharField(max_length=20, default="", blank=True)
last_name = models.CharField(max_length=20, default="", blank=True)
Как создать отношения, где я могу связаться с пользователями, выполнив что-то вроде этого:
// get user contacts user=CustomUser.objects.get(pk=1)
user.contacts.objects.all()