Django Rest Framework从外键的类中获取属性

时间:2018-04-20 18:22:16

标签: django django-rest-framework

这是我的模型

class Recruteur(models.Model):      
    entrepriseName = models.CharField(max_length=50)
    emplacement = models.CharField(max_length=50)

class Offre(models.Model):          
    title = models.CharField(max_length=100, blank=True, default=0)
    idRecruteur = models.ForeignKey(Recruteur,verbose_name = "idRecruteur", on_delete=models.CASCADE, default=None)

这是我的 api.py

class VilleViewSet(ModelViewSet):
    queryset = Offre.objects.values('idRecruteur__emplacement').distinct()
    serializer_class = VilleSerializer 

serializers.py

class EmplacementSerializer(serializers.ModelSerializer):
    class Meta:
        model = Recruteur
        fields = ('emplacement',)

class VilleSerializer(serializers.ModelSerializer):
    emplacements = EmplacementSerializer(source='idRecruteur', read_only=True)
    class Meta:
        model = Offre
        fields = ( 'emplacements',)

我期待像这样的结果

enter image description here

但我没有得到任何东西..

任何想法为什么?

1 个答案:

答案 0 :(得分:0)

您什么也得不到,因为package.json模型中没有emplacements字段。我想,你想要的是获得序列化的Offre记录,该记录由Recruteur字段引用。试试这个:

idRecruteur