gpt4 book ai didi

python - 我可以让 Django QueryDict 保留顺序吗?

转载 作者:太空狗 更新时间:2023-10-29 21:07:15 26 4
gpt4 key购买 nike

是否可以让 Django 的 QueryDict 保留原始查询字符串的顺序?

>>> from django.http import QueryDict
>>> q = QueryDict(u'x=foo³&y=bar(potato),z=hello world')
>>> q.urlencode(safe='()')
u'y=bar(potato)%2Cz%3Dhello%20world&x=foo%C2%B3'

最佳答案

QueryDict继承自 Django 的 MultiValueDict它继承自 dictimplemented as a hash table .因此,您不能保证它会保持有序。

我不确定这是否与您的需求相关,但是 an ordering that QueryDict does preserve is the order of "lists" (multiple values for the same key) passed in to them .使用它,您可以:

>>> from django.http import QueryDict
>>> q = QueryDict(u'x=foo³&x=bar(potato),x=hello world')
>>> q.lists()
[('x', ['foo³', 'bar(potato)', 'hello world'])]
>>> q.urlencode(safe='()')
u'x=foo%C2%B3&x=bar(potato)&x=hello%20world'

关于python - 我可以让 Django QueryDict 保留顺序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23662247/

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