Py学习  »  Django

当模型位于version子目录中时,django dumpdata返回空数组

Jim Rohrer • 6 年前 • 232 次点击  

我有一个django rest framework应用程序,在那里我将模型/序列化器/视图分离到单独的目录中(而不是在models.py、serializers.py等目录中),并将这些目录移动到v1目录中。

当我试图逃跑时 ./manage.py dumpdata api 我得到一个空数组作为响应。

./manage.py dumpdata 将转储Django系统表,但不转储我的模型表。

下面是一个例子:

- api/
-- __init__.py
-- v1/
--- router.py
--- __init__.py
--- models/
---- __init__.py
---- thingy.py
--- serializers/
---- __init__.py
---- thingy.py
--- views/
---- __init__.py
---- thingy.py

- project/
-- urls.py
-- settings.py
-- wsgi.py
-- __init__.py

这个 __init__.py 每个对象目录中的文件(例如模型)包括每个文件中的类:

from .thingy import Thingy

这个 router.py 文件内部 api/ 看起来像这样:

from rest_framework import routers
from . import views

router = routers.DefaultRouter(trailing_slash=False)
router.register(r'thingies', views.ThingyViewSet)

api_urlpatterns = router.urls

urls.py 里面 project/ 看起来像这样:

from django.conf.urls import url, include
from django.contrib import admin
from django.urls import path
from api.v1.router import api_urlpatterns as api_v1

urlpatterns = [
    path('admin/', admin.site.urls),
    url(r'^api/v1/', include(api_v1)),
    url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework'))
]
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/42985
文章 [ 1 ]  |  最新文章 6 年前
Jim Rohrer
Reply   •   1 楼
Jim Rohrer    7 年前

我想我已经解决了这个问题。当我在每个v1文件夹(模型、序列化器、视图)中分别包含文件时 __init__.py 文件,经理仍然希望 models 模块位于 api 目录。我添加了一个 models.py 将每个模型归档并包含在 api.v1.models 现在它似乎在找我的模特。

谢谢你的帮忙!