django模型在django之外访问而不访问设置文件

yiytaume  于 2021-06-20  发布在  Mysql
关注(0)|答案(0)|浏览(203)

我想允许没有权限访问django项目根文件夹的人(因此没有权限访问 settings.py 文件和没有数据库密码)来使用django以外的特定模型。
我希望一些用户能够查询数据库中的某些表使用强大的django结构(querysets等…),而不给予完全访问所有的表。
以下哪种策略有效?有可能做到吗?对于这类问题的最佳做法是什么?
想法1:使用 my_project.settings .

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "my_project.settings")
django.setup()

问题是它需要访问项目根文件夹,并提供对所有数据库的访问权限
想法2:使用具有受限访问权限的不同数据库用户设置django

from django.conf import settings    
settings.configure(
    DATABASE_ENGINE = 'django.db.backends.mysql',
    DATABASE_NAME = '<db_name>',
    DATABASE_USER = 'new_user',
    DATABASE_PASSWORD = '<psw>',
    DATABASE_HOST = '<host>',    
    INSTALLED_APPS = ...
)

我还没能成功,但我觉得 django.setup() 将失败,因为db用户没有访问所有表的权限。它还需要访问项目根文件夹。
想法3:直接从python使用数据库(mysql),与django完全没有链接。
这可能是不建议,但这是唯一的解决办法,我到目前为止。是否有类似于django的python包允许以类似于django的方式查询数据库?
想法四:也许是用定制的东西 manage.py 命令?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题