from django.apps import apps
def get_app_label_and_model_name(instance: object):
"""
get_model(), which takes two pieces of information — an “app label” and “model name” — and returns the model
which matches them.
@return: None / Model
"""
app_label = instance._meta.app_label
model_name = instance.__class__.__name__
model = apps.get_model(app_label, model_name)
return model
4条答案
按热度按时间nwwlzxa71#
添加到我的模型:
然后把这个传给我的BaseHandler:
看起来很有效。如果有人有其他的解决方案,请随时发布。
t1rydlwq2#
作为
app_label
的代码:对于
model_name
:并与
get_model
可以得到模型名称从字符串或url!tp5buhyn3#
最好使用 meta
Options.label
https://docs.djangoproject.com/en/2.1/ref/models/options/#label
ee7vknir4#
参考:Alireza Savand's answer
如何使用?
并使用它来获取查询的动态模型名称