首页 > 解决方案 > 来自 Post 的 Django 查询

问题描述

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

邮政

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

序列化器只允许接受城市和州

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

查看注释,返回时使用了 EventsSerializer,我可以确认它适用于基本的 get 请求

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”对象没有属性“拆分”

标签: djangodjango-rest-frameworkdjango-views

解决方案


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

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

推荐阅读