2017-06-15 20 views
1

jsonでデータを受け取り、djangoに格納するDRF設定があります。シリアライザはDjango Rest Framework - シリアライザを使用してリクエストライブラリ付きjsonを送信する

class ReservationSerializer(serializers.ModelSerializer): 
    room = RoomSerializer() 
    reserved_days = DaySerializer(many=True) 
    additional_services = AdditionalServicesSerializer(many=True) 


    class Meta: 
     model = Reservation 
     fields = [ 
      'start', 
      'end', 
      'check_in_time', 
      'check_out_time', 
      'reserved_days', 
      'additional_services', 
      'room', 
      'has_refund', 
      'payed', 
      'guest_name', 
      'reservation_number', 
     ] 

私はJSONでモデルを準備し、このシリアライザを使用して、Requestsライブラリと、このJSONを送ることができ、次のさ?

答えて

1

実現可能、必要がある場合は表示されます。

import json 
import requests 

my_objects = Reservation.objects.all() 
serializer = ReservationSerializer(data=my_objects, many=True) 
if serializer.is_valid(): 
    # now you do your encoding: 
    encoded_data = json.dumps(serializer.data) 
    response = requests.post(your_url, 
          headers={'Content-Type': 'application/json'}, 
          data=encoded_data) 
+0

が合格と協力し、データを検証しませ:あなたがあなた自身のデータをエンコードする必要がありますのでものの、JSONエンコーディングは、フルはHttpResponseサブクラスであるResponseオブジェクト、で行われます。 my_objectsをデータ検証なしでシリアライザに直接渡すと機能します –

関連する問題