ModelMultipleChoiceField和reverse()

时间:2010-05-20 23:39:03

标签: django django-urls

我有一个包含ModelMultipleChoiceField的表单。

是否有可能提出一个url映射来捕获来自所述ModelMultipleChoiceField的不同数量的参数?

我发现自己在视图中进行了reverse()调用,传递了表单提交的参数,并意识到我不知道如何在urlconf中表示为SELECT标记呈现的多个值。 ModelMultipleChoiceField ...

1 个答案:

答案 0 :(得分:1)

这可能无法回答100%的问题但是,我在URL中用于多值参数的技术是将它们作为不透明的blob传递给视图,并让它进行解码。

# URLConf
(r'^foo/(?P<ids>([0-9]+,?)+)/)$', foo),

# View
def foo(request, ids):
    ids=ids.split(',')

# Reverse call
reverse(foo, ','.join(sorted(ids)))

sorted()的调用可确保等效的ID列表生成相同的URL(假设ids的顺序不重要)。如果您不想要重复值,也可以ids set