【发布时间】:2016-09-16 17:17:20
【问题描述】:
我已经开始使用 Django REST 框架。到目前为止,我成功地为我的对象创建了一个序列化程序,通过 Javascript 的 $.post() 创建了 post 视图、post 对象和返回对象。所以现在我在我的 JSON 和 Django 模型对象之间进行了适当的转换。
问题是我有一个对象数组 [A1, A2, ..., An]。现在,当我需要发布这样的数组时,我会逐个对象地进行。有没有可能一次发布整个数组,并在我的 Django 视图中恢复一组对象?如果是这样,这里要遵循的模式是什么?我想我可以定义一个新模型,它是我当前模型的数组,为它创建一个序列化程序等,但这似乎不太优雅。
以下是我的视图和序列化器:
#serializers.py
class SearchRequestSerializer(serializers.ModelSerializer):
def create(self):
return SearchRequest(**self.validated_data)
class Meta:
model = SearchRequest
#views.py
@api_view(['POST'])
def post_calculation(request):
if request.method == 'POST':
#JSON to serializer object
serializer = SearchRequestSerializer(data=request.data, many=False)
if (serializer.is_valid() == False):
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
#create the Python object
search_request = serializer.create()
#-- I do some processing stuff with the search_request object here ---
#object back to JSON
serializer3 = SearchRequestSerializer(search_request, many=False)
return Response(serializer3.data)
【问题讨论】:
标签: json django django-rest-framework