gpt4 book ai didi

python - 迭代 Django 表单结果(不在模板中)

转载 作者:行者123 更新时间:2023-12-02 15:30:00 25 4
gpt4 key购买 nike

我正在尝试遍历表单 results,但我不禁认为我在这里重新发明了轮子。

filterlist = []

if request.POST:
form = FilterForm(request.POST)
if form.is_valid():
for key, value in form.cleaned_data.iteritems():
filterlist.append(key)
filterlist.append(value)

这行得通,但看起来很笨拙并且会产生很多其他问题。例如,值随 u' 一起返回,所以我必须使用 value.encode("utf8") 但是如果值为 None ,它会抛出错误。所以现在我必须检查它是否为 None,如果不是则进行编码。一定有更好的方法。

编辑:我正在尝试做什么。

我正在尝试过滤页面上显示的内容。我遇到的问题是,如果一个值为空(用户不填写该框,因为他们只想过滤一个对象),那么我将得不到任何结果。例如,用户想要搜索作者姓名为“Smith”的所有书籍,但不想搜索流派。

results = Books.objects.filter(author=author, genre=genre) 

用户不会得到任何结果,因为这是一个 AND 搜索。但是,如果用户为作者输入“史密斯”,为类型输入“神秘”,那么它的工作方式与我想要的完全一样,只给出两者都为真的结果。

因此,我试图通过遍历表单结果来消除空内容。就像我说的,我可能正在重新发明轮子。

最佳答案

在 Python 3 中使用:

for key, value in form.cleaned_data.items():

关于python - 迭代 Django 表单结果(不在模板中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28284426/

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