django rest framework discovery
1.0.0
Discovery允许您以最少的精力从现有数据库中创建API。该项目基于Shabda Raaj的Bookrest。您还可以利用Django Rest框架的可扣式来应用过滤,分页和文档生成。示例可以在examples目录中找到。
在旧应用程序中,数据并非总是可以访问的。您可能处于需要访问数据或原型新工具的数据的情况。在旧软件中添加新功能可能会令人超值,该解决方案旨在解决此问题。
为了获得成功的模式生成,您需要在表中有一个主要密钥。否则,它将被默默地忽略。
pip install djangorestframework-discovery在您的settings.py中
INSTALLED_APPS = [
# ...
"rest_framework" ,
"rest_framework_discovery" ,
]将变量添加到您的settings.py名称DISCOVERY_ALIAS_NAME 。您可以使用任何值,但建议discovery 。您将使用它来定义要用于Viewset生成的数据库。
DISCOVERY_ALIAS_NAME = 'discovery'
DATABASES = {
'default' : {
'ENGINE' : 'django.db.backends.sqlite3' ,
'NAME' : os . path . join ( BASE_DIR , 'db.sqlite3' ),
},
'discovery' : {
'NAME' : 'YOUR_DB_NAME' ,
'ENGINE' : 'django.db.backends.postgresql' ,
'USER' : 'YOUR_DB_USER' ,
'PASSWORD' : 'YOUR_DB_PASSWORD' ,
'HOST' : 'YOUR_DB_HOST' ,
'PORT' : 'YOUR_DB_PORT' ,
},
}通过修改urls.py ,将生成的模式添加到应用程序的其余部分。
urlpatterns = [
# ...
url ( r'^api/discovery/' , include ( 'rest_framework_discovery.urls' )),
]您还需要在settings.py中明确包含DEFAULT_SCHEMA_CLASS 。以使其工作。查看其他详细信息。
REST_FRAMEWORK = {
...
'DEFAULT_SCHEMA_CLASS' : 'rest_framework.schemas.coreapi.AutoSchema'
}您可以通过运行runtests.py或tox通过测试套件运行。
您可以在settings.py中配置以下内容:
DISCOVERY_ALIAS_NAME :(必需)用于发现的数据库别名名称。DISCOVERY_READ_ONLY :(可选) True或False ,无论视图集是否应仅阅读。DISCOVERY_INCLUDE :(可选)您只想包含的表列表。DISCOVERY_EXCLUDE :(可选)您想忽略的表列表。