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