亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

python - 編寫Django restful api,model表中有一個字段包含外鍵,前臺POST提交數據如何從這個外鍵獲取值?

瀏覽:116日期:2022-07-08 11:37:08

問題描述

各位前輩,大家好。我在編寫一個Django項目的接口,想將一張叫info的表通過接口放出去,給另外的平臺通過該接口可以向info表傳入數據。但是info表中的org字段與另外一張表Org是主外鍵關系,只能從Org表取值,不能自己創建。目前我已經能通過url訪問接口,查看到info表的所有信息,只是在POST提交測試時,org字段無法提交,一直報錯。我想問問各位,該如何處理這個字段,該如何在serializer.py中定義InfoSerializer的創建方法。我是第一次編寫restful api,都是在網上借鑒后修改的,請多多指教。

下面是我的代碼和api接口展示

1.model設計

class Org(models.Model): name = models.CharField(verbose_name=u'組織單元', max_length=50) other = models.CharField(verbose_name=u'備注', max_length=30) class Info(models.Model): datetime = models.DateTimeField(verbose_name=u'時間',default=datetime.now) name = models.CharField(verbose_name=u'主機名稱', max_length=50) ip = models.CharField(verbose_name=u'主機地址', max_length=20) org = models.ForeignKey(Org, verbose_name=u'所屬單元') desc = models.CharField(verbose_name=u'故障描述', max_length=200) type = models.CharField(verbose_name=u'故障等級', choices=((u'嚴重',u'嚴重'),(u'告警',u'告警'),(u'提醒',u'提醒')), max_length=2)

2.serializers.py

class OrgSerializer(serializers.ModelSerializer): class Meta:model = Orgfields = (’id’,’name’)class InfoSerializer(serializers.ModelSerializer): org = OrgSerializer() class Meta:model = Infofields = (’id’,’name’,’ip’,’org’,’desc’,’type’)read_only_fields = (’org’,) def create(self, validated_data):validated_data[’org’] = self.context[’request’].orgreturn Info.objects.create(**validated_data)

3.views.py

class OrgViewSet(viewsets.ModelViewSet): queryset = Org.objects.all() serializer_class = OrgSerializer permission_classes = (permissions.IsAuthenticated,)class InfoViewSet(viewsets.ModelViewSet): queryset = Info.objects.all() serializer_class = InfoSerializer permission_classes = (permissions.IsAuthenticated,) @detail_route(renderer_classes=[renderers.StaticHTMLRenderer]) def plaintext(self, request, *args, **kwargs):model = self.get_object()return Response(repr(model))

python - 編寫Django restful api,model表中有一個字段包含外鍵,前臺POST提交數據如何從這個外鍵獲取值?

python - 編寫Django restful api,model表中有一個字段包含外鍵,前臺POST提交數據如何從這個外鍵獲取值?

問題解答

回答1:

在class Meta中添加depth = 1,然后指定相應的字段名。

詳見官方文檔

標簽: Python 編程
主站蜘蛛池模板: www.av在线免费观看 | 一本大道在线观看 | 91在线 在线播放 | 国产v国产v片大片线观看网站 | 美日韩精品 | 黄图视频在线观看 | 亚洲免费中字慕日产2021 | 亚洲欧美日韩精品永久在线 | 欧美日韩视频在线观看高清免费网站 | 老外一级黄色片 | 欧美激情一区二区三区蜜桃视频 | 亚洲自偷精品视频自拍 | 黄色a网站 | 欧美三级大片在线观看 | 日本黄色片在线 | 亚洲视频一区在线播放 | 欧美一级片毛片免费观看视频 | 一男一女野外大黄毛片 | 色婷婷中文字幕在线一区天堂 | 香蕉视频免费看 | 国产视频资源在线观看 | 夜夜爱成人免费网站 | 找国产毛片看 | 久久99国产精品久久99 | 亚洲国产精品网 | 国产高清狼人香蕉在线观看 | 色婷婷久久综合中文网站 | 尤物在线视频观看 | 国产精品视频免费播放 | 免费大片黄在线观看日本 | 色综合综合色综合色综合 | 国产在线视频网 | 中文字幕欧美日韩一 | 高清性色生活片97 | 国产精品福利午夜在线观看 | 国产精品久久久久久久久久久不卡 | 日本三级2018亚洲视频 | 国产成人综合95精品视频免费 | 农村妇女色又黄一级毛片不卡 | 中文字幕有码视频 | 伊人精品线视天天综合 |