在Django中,如何使用变量来动态使用get_object_or_404或objects.get之类的
get_object_or_404(${Variable}, pk=id)
或者
${Variable}.objects.get(pk=id)
在Django中,如何使用变量来动态使用get_object_or_404或objects.get之类的
get_object_or_404(${Variable}, pk=id)
或者
${Variable}.objects.get(pk=id)
如果您保证在参数中传递Django ORM 模型类,get_object_or_404() 将正常工作。
def do_something(id,MyDjangoModelObject = None)
if MyDjangoModelObject:
get_object_or_404(MyDjangoModelObject, pk=id)
还
MyDjangoModelObject.objects.get(pk=id)
没问题,假设你有两个模型Post
,Comment
你可以有这个:
from app import models as app_models
dynamic_object = getattr(app_models, 'post')
所以你可以使用它:
dynamic_object.objects.get(pk=id)
或者
get_object_or_404(dynamic_object, pk=id)