【问题标题】:ModelMultipleChoiceField and reverse()ModelMultipleChoiceField 和 reverse()
【发布时间】:2010-05-20 23:39:03
【问题描述】:

我有一个包含ModelMultipleChoiceField 的表单。

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

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

【问题讨论】:

    标签: django django-urls


    【解决方案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

    【讨论】:

    • 非常感谢。我的大脑显然暂时受损了...... :-)
    猜你喜欢
    • 2013-03-31
    • 1970-01-01
    • 2020-05-22
    • 1970-01-01
    • 2018-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-09
    相关资源
    最近更新 更多