Tengo un servicio de mesa:
from django.db import models from users.models import CustomUser SERVICE_CHOICES = ( ('Carpenter', 'Carpenter'), ('Driver', 'Driver'), ('Ambulanve', 'Ambulanve'), ('Spa', 'Spa'), ('Barber', 'Barber'), ('Cleaning', 'Cleaning'), ('Cook', 'Cook'), ) class Service(models.Model): name = models.ForeignKey(CustomUser, on_delete=models.CASCADE, limit_choices_to={'is_worker': True},) service = models.CharField(choices=SERVICE_CHOICES,max_length=100) def __str__(self): return f'{self.service} - {self.name}'y una tabla CustomUser :
from django.db import models from django.contrib.auth.models import AbstractUser class CustomUser(AbstractUser): is_worker = models.BooleanField(default=False) is_customer = models.BooleanField(default=True)Estoy serializando la tabla de servicios a continuación:
from rest_framework import serializers from django.contrib.auth.models import User from .models import * class ServiceSerializer(serializers.ModelSerializer): class Meta: model = Service fields = '__all__' Pero cuando agrego un servicio desde el panel de administración, el nombre muestra un número en el navegador y no la cadena. ¿Cómo lo cambio para que muestre el nombre y no un número? 
En su ServiceSerializer puede probar:
class ServiceSerializer(serializers.ModelSerializer): class Meta: model = Service fields = '__all__' def to_representation(self, instance): rep = super(ServiceSerializer, self).to_representation(instance) rep['name'] = instance.name.name # instance.name.what_you_use_in_Custom_User_model_to_represent_name return repSin embargo, considere si esto es lo que desea, porque este cambio podría generar más problemas de los que resuelve.
Esto se debe a que el name es una clave ajena a CustomUser y el comportamiento predeterminado es devolver el PK relacionado con la instancia de CustomUser .
En su lugar, podría usar SerializerMethodField .
class UserSerializer(serializers.ModelSerializer): name = serializers.SerializerMethodField() class Meta: model = Service fields = '__all__' def get_name(self, obj): return obj.name.first_name