我已經實現了視圖集和路由器,使得API返回了一些特定的字段,我獲得了正確的信息,並且我可以更新(PUT)JUST ONE JSON,一個接一個,我需要同時更新所有這些內容。Django REST框架批處理PUT(更新)
我有這個在我的serializers.py
class OCompraDetalleSerializer(serializers.HyperlinkedModelSerializer):
# producto = ProductoSerializer(many=False)
item = serializers.RelatedField(source='producto.modelo')
descripcion = serializers.RelatedField(source='producto.descripcion')
unidad = serializers.RelatedField(source='producto.unidad')
# ocompra = OCompraSerializer(many = False)
class Meta:
model = OCompraDetalle
fields = ('url','item','descripcion','unidad','cantidad_ordenada','cantidad_recibida','fecha_entrega','precio','epc')
的API返回我這個
HTTP 200 OK
Content-Type: application/json
Vary: Accept
Allow: GET, POST, HEAD, OPTIONS
[
{
"url": "http://localhost:8000/api/ocompradetalle/1/",
"item": "AANS/428375",
"descripcion": "SPLICING KIT SHIPPING ASSEMBLY",
"unidad": "PZA",
"cantidad_ordenada": "1",
"cantidad_recibida": "1",
"fecha_entrega": "2015-07-14",
"precio": "500",
"epc": "0320CAF425"
},
{
"url": "http://localhost:8000/api/ocompradetalle/5/",
"item": "AANS/53042",
"descripcion": "NOZZLE F-1/2 W/BLOW OFF CAP,LOCKWASHERS",
"unidad": "PZA",
"cantidad_ordenada": "5",
"cantidad_recibida": "0",
"fecha_entrega": "2015-07-14",
"precio": "300",
"epc": "0436F0BECD"
},
...
所以允許部分表明,我不能說,但如果我打開一個一個細節,我得到這個:
HTTP 200 OK
Content-Type: application/json
Vary: Accept
Allow: GET, PUT, PATCH, DELETE, HEAD, OPTIONS
{
"url": "http://localhost:8000/api/ocompradetalle/1/",
"item": "AANS/428375",
"descripcion": "SPLICING KIT SHIPPING ASSEMBLY",
"unidad": "PZA",
"cantidad_ordenada": "1",
"cantidad_recibida": "1",
"fecha_entrega": "2015-07-14",
"precio": "500",
"epc": "0320CAF425"
}
使UP DATE,我的問題是: 如何在同一時間放置(更新)整個JSON,而不是爲每個單個條目創建更新?
注:的'item','descripcion','unidad'
領域來自另一個型號,這就是爲什麼我有ProductoSerializer
評論,所以我決定將在JSON的具體數值。
注意2:我只需要爲每個條目PUT或更新cantidad_recibida
值。
超凡! '與路由器'工作的鏈接爲我工作;) 謝謝! – 2014-10-28 17:48:01