这是我的密码:
PostModels = {
'dPost': DPost,
'sPost': SPost,
'rPost': RPostModel,
}
for postType, Post in PostModels.items():
try:
post = Post.objects.get(pk=pk)
except:
pass
else:
return RPostModel.objects.filter(postType=post)
当我执行post = Post.objects.get(pk=pk)
时,Post
是for循环中的变量Post
。因此,在第一个循环中,它搜索DPost
中的对象,在下一个循环中,它搜索SPost
等。但是,当它到达return语句时,它会给出一个错误,说:
django.core.exceptions.FieldError:
Cannot resolve keyword 'postType' into field.
Choices are: createdAt, dPost, dPost_id, sPost, sPost_id, rPost, rPost_id
如何使postType
等于postType
变量的值?换句话说,在循环中,如何使我的return语句成为以下语句:
return RPostModel.objects.filter(dPost=post)
return RPostModel.objects.filter(sPost=post)
return RPostModel.objects.filter(rPost=post)
而不是这个:
return RPostModel.objects.filter(postType=post)
试试这个:
相关问题 更多 >
编程相关推荐