0

好的,这可能需要一些解释。

我有一个名为 的类PurchaceOrder,它有一个包含 18 个字段的表单。很多时候,会有几个PurchaceOrders前 12 个字段是相同的。为了促进这一点(并消除用户每次尝试使 12 个字段相同时出错的机会),我有一个表单允许用户添加多个PurchaceOrder字段,前 12 个字段从一个条目结转到下一个。这一切都很好,并且运行良好。

然而; 在用户添加完他/她的所有内容后,我需要一个启动页面,该页面PurchaceOrders显示刚刚创建的所有条目。这意味着我需要跟踪正在创建的新条目,但我想不出办法来做到这一点。现在我只是过滤类别,以便显示PurchaceOrders前 12 个字段与刚刚输入的字段相同,但这显然不会真正起作用(可能有一个先前的条目具有这 12 个字段是相同的)。我真正想要的是刚刚创建的条目的主键列表。然后,我可以将此信息传递到负责确认登录页面的视图中。

在我目前的观点中,我有以下几点:

 if form.is_valid():
    entry=form.save()

我的想法是我可以这样做:

pks = [pks, entry.id]

我不知道我会在哪里实例化列表。如果我在视图中执行此操作,则每次重新加载页面时都会将其弹出。

我会很感激任何帮助。

4

2 回答 2

0

我的第一个想法是有一个单独的类/方法/函数来跟踪每种形式的 PurchaceOrder。ID 可以通过数据库或数组/链接列表与结果相关联,当创建新的 PurchaceOrder 时自动递增。

至于实例化列表,在第一次调用类时实例化它,或者将它作为一个单独的类。写完之后,单独的课程更有意义,这可能就是我最初以这种方式发布的原因。

于 2013-06-13T18:54:03.253 回答
0

在搁置了很长时间之后,我终于想出了一个合适的解决方案。我所做的是创建了一个 url conf,其中包含一个正则表达式(?P<match>/+)/。该 reexeg 将用于包含由 . 分隔的任意数量的主键/。我使用它来存储已创建的所有主键PurchaseOrders(即,当我创建PurchaseOrder数字 15 时,它会将我重定向到/new/15,然后当我创建数字 16 时,它会将我重定向到/new/15/16/,依此类推。然后当我'准备好确认,我被发送到/confirm/15/16/并且我可以通过调用轻松访问我刚刚创建的条目的 pk pks=match.split('/')。然后我可以简单地遍历pks并为每个对象做一些事情。我认为这是一个优雅的解决方案,只要您不介意您的用户看到 url 中的主键。

于 2013-07-01T15:30:29.757 回答