Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么Django REST框架返回空列表?_Python_Django_Postgresql_Rest_Django Rest Framework - Fatal编程技术网

Python 为什么Django REST框架返回空列表?

Python 为什么Django REST框架返回空列表?,python,django,postgresql,rest,django-rest-framework,Python,Django,Postgresql,Rest,Django Rest Framework,在生产环境中,我们实现了简单的Django REST,它从数据库返回所有对象: In [5]: from apps.clubs.models import Club In [6]: x = Club.objects.get(pk=1) In [7]: x Out[7]: <Club: Pattana Sport> URL.py: router = routers.DefaultRouter(trailing_slash=False) router.register(r'club

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

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

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

In [7]: x
Out[7]: <Club: Pattana Sport>
URL.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>
[5]中的
:从apps.clubs.models导入Club
在[6]中:x=Club.objects.get(pk=1)
在[7]:x中
出[7]:
但当我试图向Django发送请求时,我收到的只是一个空列表:

尽管生产上的同一个reguest返回数据库中所有对象的列表。我使用的是同一个数据库-postgres,我使用以下命令将数据库从生产系统转储并还原到本地计算机:

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

$psql[database_name]好吧,您是通过
纬度\uu isnull=False
来过滤项目的,我想这对于数据库中的项目来说不是False

相反,我们应该得到俱乐部的值,纬度和经度都不是False。事实上,我们在数据库中相应的表中有这些记录:经度-纬度--------------+----61.399192 | 55。155162@paus可能是关系在移植数据库后被破坏了?在这种情况下,正如我所想,我将无法通过Django ORM操作数据库对象。但我可以在django shell中通过id接收梅花。如何检查此假设?检查返回对象的
纬度集