Django: Объект не сериализуется как объект, а вместо этого отображается внешний ключ [закрыто]

Я пытался отобразить объект "pfam" внутри другого объекта "domains". Но результаты, которые я получаю, показывают pfam_id только как внешний ключ.

Я пробовал печатать детали queryset и queryset[0].pfam получает объект pfam, поэтому я знаю, что мои модели не ошибаются. Я думаю, что это что-то связанное с сериализаторами, но я не слишком уверен, что пошло не так.

Models.py

imports ..

class pFam(models.Model):   
    domain_id = models.CharField(max_length=256,null=False,blank=False,unique=True)
    domain_description = models.CharField(max_length=256,null=False,blank=False)
class Domains(models.Model):
    pfam = models.ForeignKey(pFam,on_delete=models.CASCADE)
    description = models.CharField(max_length=256,null=False,blank=False)
    start = models.IntegerField(null=False,blank=False)
    stop = models.IntegerField(null=False,blank=False)

Serializer.py

imports ..

class PfamSerializer(serializers.ModelSerializer):
    class Meta:
        model = pFam
        fields = ['domain_id','domain_description']

class DomainSerializer(serializers.ModelSerializer):
    pfam_id = PfamSerializer
    
    class Meta:
        model = Domains
        fields = ['pfam_id','description','start','stop']

api.py

imports ..

class ProteinDetail(mixins.RetrieveModelMixin,
                    generics.ListAPIView):

    serializer_class = DomainSerializer
    queryset = Domains.objects.all()

    def get(self, request, *args, **kwargs):
        return self.retrieve(request, *args, **kwargs)

urls.py

imports ..

urlpatterns = [
    path('api/protein/<int:pk>', api.ProteinDetail.as_view(), name='protein_api'),
]   

Это результат, который я получаю, но вместо того, чтобы показывать pfam_id как внешний ключ, я хочу, чтобы он показывал содержимое pfam. Я не уверен, почему мой PfamSerializer не работает в этом сценарии. [1]: https://i.stack.imgur.com/LfAOC.png

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