Django rest framework view does not show related table data

models.py

class MEMBER(models.Model): LB_NAME = models.CharField(max_length=40,null=True) LB_FIRST_NAME = models.CharField(max_length=40,null=True) DT_DAT_BIRTH = models.DateField(,null=True) CO_ID = models.CharField(max_length=6,null=True) class MEMBER_DECLARE_RECEPT(models.Model): SY_MEMBER=models.ForeignKey(MEMBER,verbose_name='Name member ',null=True,related_name='Member') DT_DECLARATION_RECEPT=models.DateField(('Date received',null=True) 

serializers.py

 class MemberSerializer(serializers.ModelSerializer): class Meta: model = MEMBER fields=('id','LB_NAME','LB_FIRST_NAME','CO_ID') class MemberDeclareSerializer(serializers.ModelSerializer): class Meta: model = MEMBER_DECLARE_RECEPT fields=('id','SY_MEMBRE','DT_DECLARATION_RECEPT','FL_RECEPT_RECEPT_DEFAUT') 

views.py

 class MemberDeclareDetail(generics.ListCreateAPIView): queryset=MEMBER_DECLARE_RECEPT.objects.all() serializer_class =MemberDeclareSerializer def get_object(self,pk): try: return self.queryset.get(pk=pk) except MEMBER_DECLARE_RECEPT.DoesNotExist: raise Http404 def get(self, request, pk,format=None): entries = self.get_object(pk) serializer = MemberDeclareSerializer(entries) return Response(serializer.data) 

result:

 { "id": 1, "SY_MEMBER": 1, "DT_DECLARATION_RECEPT": "2014-12-31", "FL_RECEPT_RECEPT_DEFAUT": "1" } 

but not relevant table data!

What am I missing here?

0
source share
1 answer

You need a Serializer relationship

 class MemberDeclareSerializer(serializers.ModelSerializer): ... members = serializers.StringRelatedField(many=True) ... 

Also try following python naming conventions

 class MemberDeclareRecept(models.Model): member=models.ForeignKey(Member,verbose_name='Name member ',null=True,related_name='members') 
+1
source

Source: https://habr.com/ru/post/1210703/


All Articles