我如何在Django的一个序列化器中有两个模型

时间:2018-07-13 11:18:11

标签: django-rest-framework django-rest-viewsets

我使用django rest框架创建了API Views,我有一个模型,该模型由国家列表组成,并通过country(由列表国家组成)的帮助与另一个名为country的模型相关联。新状态(例如:糖果类别下的樱桃,垃圾食品类别下的Burger,正好是“国家类别下的州”),但我仅获得州输入形式,而没有让国家选择和助理,

## Heading ##
#model code---
class states(models.Model):
    state = models.CharField(max_length=15)
    country = models.ForeignKey(countries, on_delete=models.PROTECT)

#serializers code---
class StatesDetailSerializer(ModelSerializer):
    class Meta:
        model = states
        fields= '__all__'
        depth = 1

#viewsets code ------
class StateCreateAPIView(CreateAPIView):
    queryset = states.objects.all()
    serializer_class = StatesDetailSerializer

我已附上一张图片,教我如何获取国家/地区数据并与州建立联系。如何获取要选择并标记州/州的国家/地区列表 image here

1 个答案:

答案 0 :(得分:1)

扩展您的序列化程序以包括这样的国家/地区字段

class StatesDetailSerializer(ModelSerializer):

    country = serializers.PrimaryKeyRelatedField(queryset=countries.objects.all()) 

    class Meta:
        model = states
        fields= ( 'country', ** plus all the fields you want **)
        depth = 1

注意:请勿在字段中使用__all__。最好明确声明要序列化的字段(以避免应用程序中的潜在漏洞)

相关问题