来自Post的Django查询

时间:2018-05-28 21:55:30

标签: django django-rest-framework django-views

我正在尝试将需要针对数据库查询的帖子传递给我的DRF API。目前我只包含了2个可以查询的字段。我无法让视图正常工作。这是我到目前为止所拥有的。

发表

{
    "city": "Denver",
    "state": "CO"
}

序列化程序仅允许接受城市和州

class EventQuerySerializer(serializers.ModelSerializer):
    class Meta:
        model = Events
        fields = ('city', 'state')

查看请注意,在回复中使用了EventsSerializer,我可以确认它适用于基本的获取请求

class QueryEvents(APIView):
    @staticmethod
    def post(request):
        serializer = EventQuerySerializer(data=request.data)
        if serializer.is_valid():
            events = Events.objects.get(serializer)
            return Response(EventsSerializer(events).data)

错误 AttributeError:'CharField'对象没有属性'split'

1 个答案:

答案 0 :(得分:1)

您需要在序列化程序上运行save来检索实例:

# ...
if serializer.is_valid():
    event = serializer.save()
    events = Events.objects.get(pk=event.pk)
    # ...