0

在Django中,如何使用变量来动态使用get_object_or_404或objects.get之类的

get_object_or_404(${Variable}, pk=id)

或者

${Variable}.objects.get(pk=id)
4

2 回答 2

0

如果您保证在参数中传递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)
于 2013-04-12T19:52:38.570 回答
0

没问题,假设你有两个模型PostComment你可以有这个:

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)
于 2013-04-12T19:44:27.447 回答