我在 Django 中编写了一个函数来根据对象的类型查找对象,其工作方式类似于以下内容:
def lookup(modelType, item_id):
try:
return eval(modelType).objects.get(pk=item_id)
except ObjectDoesNotExist:
return None
lookup(Course, 14) 如果存在 ID 为 14 的 Course 对象,则应返回 Course.objects.get(pk=14)。
这个函数写起来可行吗?谢谢。
请您参考如下方法:
如果你想使用 lookup(Course, 14) 然后这样做。
def lookup( the_model, item_id ):
try:
the_model.objects.get( pk=item_id )
except the_model.DoesNotExist:
return None
如果您想继续使用您编写的函数,则必须将模型作为字符串传递。
lookup( "类(class)", 14)
还有。 return None 是一个非常糟糕的主意。正确使用异常通常会好得多。
