Django serialize One to One

У меня есть модель с именем клиент, и в ней есть два внешних ключа. Одна из них относится к региону, а другая - к агенту. Я пытаюсь сериализовать всех клиентов. Использование use_natural_foreign_keys=True дает мне имя региона. Как я могу получить имя агента без использования DRF?

Модель:

class Agent(models.Model):
 user = models.OneToOneField(User, on_delete=models.CASCADE)

class Client(models.Model):
 name = models.CharField(max_length=20, default="")
 agent = models.ForeignKey("Agent", on_delete=models.CASCADE)
 region = models.ForeignKey("Region", on_delete=models.CASCADE)
 

Вид:

class ClientLog(View):
page_limit = 100

def get_paginated_context(self, queryset, page, limit):
    if not page:    page = 1 
    
    if limit:   
        self.page_limit = limit  
    paginator = Paginator(queryset, self.page_limit)
    page_obj = paginator.get_page(page)
    serialized_page = serialize("json", page_obj.object_list,   use_natural_foreign_keys=True)
    serialized_page = [{**obj["fields"], **{"pk": obj["pk"]}} for obj in json.loads(serialized_page)]
    
    return {
        "data": serialized_page,
        "pagination": {
            "page": page,
            "limit": limit,
            "has_next": page_obj.has_next(),
            "has_prev": page_obj.has_previous(),
            "total": queryset.count()
        }
    }

def get(self, request, *args, **kwargs):
    page = request.GET.get('page')
    limit = request.GET.get('limit')
    
    queryset = Client.objects.all()
    
    to_return = self.get_paginated_context(queryset, page, limit)
    return JsonResponse(to_return, status = 200)



 
Вернуться на верх