我怎样才能在 Django 的一个序列化器中有两个模型
How can i have two models in one serializer in django
我使用 django rest 框架创建了 API 视图,我有一个模型,其中包含国家列表,并在国家(由列表国家组成)的帮助下与另一个称为国家的模型相关联外键我正在尝试插入新状态 (例如:糖果类别下的樱桃,垃圾食品类别下的汉堡,与 "State under category of countries" 完全相同) 但我只得到状态输入表单而不是让国家 select 和联系
## 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
我附上了一张图片,请教我如何获取国家/地区数据并与 states.how 关联 我能否将国家/地区列表添加到 select 并标记到各州
image here
扩展您的序列化程序以包含这样的国家/地区字段
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__
。最好明确说明要序列化哪些字段(以避免应用程序中的潜在漏洞)
我使用 django rest 框架创建了 API 视图,我有一个模型,其中包含国家列表,并在国家(由列表国家组成)的帮助下与另一个称为国家的模型相关联外键我正在尝试插入新状态 (例如:糖果类别下的樱桃,垃圾食品类别下的汉堡,与 "State under category of countries" 完全相同) 但我只得到状态输入表单而不是让国家 select 和联系
## 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
我附上了一张图片,请教我如何获取国家/地区数据并与 states.how 关联 我能否将国家/地区列表添加到 select 并标记到各州 image here
扩展您的序列化程序以包含这样的国家/地区字段
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__
。最好明确说明要序列化哪些字段(以避免应用程序中的潜在漏洞)