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 :(可選)您想忽略的表列表。