我有一个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'))
]