gpt4 book ai didi

python - 如何让 python 将字符串解释为 python 代码?

转载 作者:太空宇宙 更新时间:2023-11-04 08:19:09 24 4
gpt4 key购买 nike

我在 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 是一个非常糟糕的主意。正确使用异常通常会好得多。

关于python - 如何让 python 将字符串解释为 python 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8913609/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com