2014-06-30 108 views
0

我使用REST框架在Django。我使用可瀏覽的API功能根據給定API的序列化程序自動生成表單(用於http POST,PUT等)。嵌套串行Django的REST框架API

我的問題是我現在創建一個帶有嵌套串行的API來接收在已知格式的詞典列表。主串行內嵌套串行的聲明是:

customer_hosts = CustomerNetworkHostSerializer(many=True, required=True) 

我的API繼承了通用的CreateAPIView形式rest_framework。我也將serializer_class設置爲我的主串行器。

的API正常工作與串行,如果我使用HTTP POST手動發送所需的JSON對象,但我也沒有辦法送值使用與自動生成表格的瀏覽器變量。帶有嵌套序列化器的變量根本不顯示。

所以,我在找的是客場拿到browsable_api與嵌套動態串行工作,如果是可能的嗎?

回答

1

我無法找到確切的RFC參考,但這裏的限制是HTTP。 HTTP表單不能本地編碼嵌套數據結構(應用程序/ x-www-form-urlencoded和多部分/表單數據依賴於平鍵值格式)

此處的一種方法可能是創建一個使用browsableapi渲染器渲染你的窗體的那些部分,然後實現你自己的邏輯
- 渲染嵌套的串化器
- 將窗體和內容格式化爲其他語言以提交到您的端點(例如,將html表單和內容JSON:Convert form data to JavaScript object with jQuery