我需要能够确定在Django中运行时使用的DB类型。在MYSQL = False
if :
MYSQL = True
我看到了一张相关的Django罚单,但我没有完全理解我的解决方案。(^ a1)
如果有一个解决方案,我可以确定它是不是MySQL、PostgreSQL、SQLite、Oracle……什么都可以。在
我试着翻阅了django.db,但看不到任何有用的东西。在
我将详细说明我试图做什么,因为它似乎被误解了。这是一个独立于任何Django项目的测试实用程序项目。我的实用程序需要了解使用哪个数据库来防止非法活动。在
例如,我的包支持postgresqlhstore字段,但是在SQLite中不存在这样的字段。所以,如果他们使用SQLite,我不想允许特定的功能。在
我可以访问他们的Django模型与实用程序一起使用。在
^{pr2}$
我的testing_utility签名是:def testing_utility(klass, **kwargs):
instance = klass(**kwargs)
现在,如果不是PostgreSQL数据库,我不想在这个类上执行hstore特定的功能。这能让它更清楚些吗?在
编辑1:
谢谢,KevinDTimm,谢谢你的联系。看起来Django模型在实例化时确实有._state.db。当然,我的实例有一个None类型。:(>> print(instance._state.db)
None