Je possède les modèles suivants :
class SearchCity(models.Model):
city = models.CharField(max_length=200)
class SearchNeighborhood(models.Model):
city = models.ForeignKey(SearchCity, on_delete=models.CASCADE)
neighborhood = models.CharField(max_length=200)
et ensuite le sérialiseur imbriqué suivant :
class CityNeighborhoodReadOnlySerializer(serializers.ModelSerializer):
searchneighborhood_set = serializers.PrimaryKeyRelatedField(many=True, read_only=True)
class Meta:
model = SearchCity
fields = ('city','searchneighborhood_set')
read_only_fields =('city', 'searchneighborhood_set')
associé à la vue :
class CityNeighborhoodView(ListAPIView):
queryset = SearchCity.objects.all()
serializer_class = CityNeighborhoodReadOnlySerializer
quand je fais l'appel api j'obtiens ceci :
city: "Chicago"
searchneighborhood_set:
0: 5
1: 4
2: 3
city: "New York"
searchneighborhood_set:
0: 8
1: 7
2: 6
J'obtiens juste les clés primaires des objets liés. Ce qui est bien, j'en ai besoin, mais je veux aussi les clés primaires des objets liés. neighborhood
nom comment j'obtiens ça ?
éditer :
Cette question peut apporter un éclairage. Ils n'utilisent pas le sérialiseur lié à la clé primaire, donc ma question serait (si cela fonctionne bien sûr, quel est l'intérêt du sérialiseur lié à la clé primaire alors ?
Le sérialiseur imbriqué de Django Rest Framework n'affiche pas les données connexes