ModelMultipleChoiceField 和 reverse()

发布于 2024-09-02 01:16:44 字数 446 浏览 3 评论 0原文

我有一个包含 ModelMultipleChoiceField 的表单。

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

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

I have a form containing a ModelMultipleChoiceField.

Is it possible to come up with a url mapping that will capture a varying number of parameters from said ModelMultipleChoiceField?

I find myself doing a reverse() call in the view passing the arguments of the form submission and realized that I don't know how to represent, in the urlconf, the multiple values from the SELECT tag rendered for the ModelMultipleChoiceField...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦途 2024-09-09 01:16:44

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

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

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

, foo), # View def foo(request, ids): ids=ids.split(',') # Reverse call reverse(foo, ','.join(sorted(ids)))

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

This might not answer 100% of your question but, the technique I use for multivalued parameters in URLs is to pass them as an opaque blob to the view and let that do the decoding.

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

The call to sorted() ensures that equivalent lists of ids produce identical URLs (assuming order of ids isn't significant). You can also make ids a set if you don't want duplicate values.

, foo), # View def foo(request, ids): ids=ids.split(',') # Reverse call reverse(foo, ','.join(sorted(ids)))

The call to sorted() ensures that equivalent lists of ids produce identical URLs (assuming order of ids isn't significant). You can also make ids a set if you don't want duplicate values.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文