django-rest-framework - 如何在 django 的一个序列化程序中拥有两个模型
问题描述
我使用 django rest 框架创建了 API 视图,我有一个模型,该模型由其中的状态列表组成,并在国家(由列表国家组成)外键的帮助下与另一个名为国家的模型相关联我正在尝试插入新状态 (例如:糖果类别下的樱桃,垃圾食品类别下的汉堡,与“国家类别下的状态”完全相同)但我只得到状态输入表格,而不是让国家选择和关联,
## 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
我附上了一张图片,教我如何获取国家数据并与州相关联。我如何在此处获取要选择和标记到州 图像的国家列表
解决方案
扩展您的序列化程序以包含这样的国家/地区字段
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__
用于字段。最好明确说明要序列化的字段(以避免应用程序中的潜在漏洞)
推荐阅读
- kdb - KDB 获取季度的最后/第一天
- ios - 使用 Facebook 注册 Cognito 不会创建用户
- pic - PicKit3 和 PIC16F1829 编程,MCLR 电压
- javascript - 如何使用 NUXT.js 为我的传单地图设置自定义标记图标
- ionic-framework - 离子深度链接在推送深度链接/页面之前显示空白页面
- python - Python:从命令行运行小型多行脚本
- xml - 解析 XML 并重命名文件名中的特殊字符(XML 和位置)
- python - 每当任何 ERROR 单词出现在 pyspark 的一行中时,我如何获取文件中的下一行?
- android - 未解决的类 .MainActivity (以及我所有的其他类)
- ssh - 主从节点之间的无密码连接