Контакты пользователя.

Создаем модель для контактов.

Создаем сигнал при создании нового объекта модели Offer будем создавать контакт если его нет.

При этом пришлось переписать метод save серилизатора.

Т.к. он добавлял пользователя после создания нового объекта.

Серилизатор backend/ij/serializers/contact.py.

Вьюшка. В ней выбираем только контакты запрашивающего.

from django.db import models
from ij.models import UserProfile

class Contact(models.Model):
    owner =  models.ForeignKey(UserProfile,on_delete=models.CASCADE, null=True, blank=True, related_name='owner')
    contact =  models.ForeignKey(UserProfile,on_delete=models.CASCADE, null=True, blank=True, related_name='contact')
    created_at = models.DateTimeField(auto_now_add=True)
from django.db.models.signals import post_save

def keep_track_save(sender, instance, created, **kwargs):
    if created:
        # import pdb; pdb.set_trace()
        c = Contact()
        c.owner = instance.user
        c.contact = instance.order.user
        c.save()

post_save.connect(keep_track_save, sender=Offer)
Потратить 2 кредита и начать обучение!
Задать вопрос, прокомментировать.