我编写了自己的辅助函数,它将转换下划线字符串并返回Django模型
Django版本1.11
from django.apps import apps
def _underscore_string_to_model(in_str, app_name, delim="_"):
chunks = in_str.split(delim)
chunks[0:] = [_.title() for _ in chunks[0:]]
return apps.get_model(app_name, "".join(chunks))
是否有现有的功能或库已经执行此操作?我一直在环顾四周,但似乎没有,所以我写了自己的。我很乐意继续使用它,但更愿意重用现有的
更新
这就是我在其中一个views.py
中使用它的方法model = _underscore_string_to_model('some_model', 'some_app')
然后我将使用model._meta.get_fields()
并对字段执行进一步操作以获取具体且非自动的字段。所有这些都将在另一个名为_do_something
此外,我会将字段分配到名为some_model_fields
我正在为多个模型做这个
因此我希望在我的代码中更干,而不是为5-6个模型反复输入相同的操作
我将最终输入
model = _do_something(underscore_string, app)
几次,但这比多次输入相同的操作还要简单