gpt4 book ai didi

python - 为什么 Django REST Framework 返回空列表?

转载 作者:行者123 更新时间:2023-11-29 12:26:08 24 4
gpt4 key购买 nike

在生产环境中,我们实现了简单的 Django REST,它返回数据库中的所有对象:

urls.py:

router = routers.DefaultRouter(trailing_slash=False)
router.register(r'clubs', views.ClubViewSet)

urlpatterns = patterns(
'',
url(r'^', include(router.urls)),
url(r'^filters/', views.ClubFilterView.as_view())
)

views.py:

from .serializers import ClubSerializer, ClubFilterSerializer
from .models import (Club, ImageForClub, ClubStaff, ClubFilter,
Metro, Rajon, Okrug, Street, Rajon, Rubric, Equipment)
class ClubViewSet(generics.ListAPIView, viewsets.GenericViewSet):
queryset = Club.objects.filter(latitude__isnull=False)
throttle_classes = (throttling.ScopedRateThrottle,)
filter_backends = (filters.SearchFilter,)
search_fields = ('title',)
serializer_class = ClubSerializer
pagination_class = None
paginate_by = None

在生产中,它工作得很好。但是当我尝试将它部署到我本地的 MacBook Air 上时,它开始表现得很奇怪:

在 python manage.py shell 中我可以从数据库接收对象:

In [5]: from apps.clubs.models import Club

In [6]: x = Club.objects.get(pk=1)

In [7]: x
Out[7]: <Club: Pattana Sport>

但是当我尝试按照图片上的方式向 Django REST 发送请求时,我收到的只是一个空列表:

enter image description here

尽管生产中的相同请求返回数据库中所有对象的列表。我正在使用相同的数据库 - postgres,我使用以下命令将数据库从生产环境转储到本地计算机:

$ sudo su - postgres 
$ psql [database_name] << file_dump.sql

之后,我授予 Django 用于登录的用户对该数据库的所有权限。

我做错了什么?以及如何调试这种奇怪的行为?我已经尽我所能检查了一切...

最佳答案

好吧,您正在通过 latitude__isnull=False 过滤项目,我想这对于您数据库中的项目来说不是 false

关于python - 为什么 Django REST Framework 返回空列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36052924/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com