在Django中,如何在清理后一次保存一条内联表单记录?

在Django中,如何在清理后一次保存一条内联表单记录?,django,database,forms,inline,Django,Database,Forms,Inline,在编写库存系统的过程中,我正在对预订进行验证。X库存行项目在插入订单上使用行项目内联进行预订,并且每种类型的行项目在特定的一天中只能出现这么多次。如果某一类型在给定的一天内出现过多次,我必须抛出一个错误 因此,在一次添加一个行项目时,我可以很好地实现这一点。一旦达到该行项目类型的限制,它就会出现预期的错误。但假设我有6个a类行项目的限制,我目前是5个,我正试图再增加2个,总共得到7个。这应该是一个错误,但事实并非如此 我的理论是,在清理每个行项目后,它不会保存到数据库中。清洁时,检查新行项目#1

在编写库存系统的过程中,我正在对预订进行验证。X库存行项目在插入订单上使用行项目内联进行预订,并且每种类型的行项目在特定的一天中只能出现这么多次。如果某一类型在给定的一天内出现过多次,我必须抛出一个错误

因此,在一次添加一个行项目时,我可以很好地实现这一点。一旦达到该行项目类型的限制,它就会出现预期的错误。但假设我有6个a类行项目的限制,我目前是5个,我正试图再增加2个,总共得到7个。这应该是一个错误,但事实并非如此

我的理论是,在清理每个行项目后,它不会保存到数据库中。清洁时,检查新行项目#1并说“再放一个!”。然后它检查新行项目#2,因为新行项目#1还没有保存,它会说,“还可以再保存一个!”然后当所有内容都立即保存时,我们就超过了限制。因此,我希望能够在通过集合后立即保存每个行项目,以便在清理下一行项目时,它将看到没有更多的空间并抛出错误


简言之,问题是,如何在发现内联记录通过检查后立即保存它,以便下一个内联记录的验证可以基于该记录在数据库中的存在?想法?

很抱歉,请问您是用“==”还是“>”来测试是否达到了限制?您是否尝试在表单中添加干净的方法?我使用干净的方法进行验证,但这需要对每个行项目进行新的查询,以查看该行项目是否与数据库中的内容冲突。它可以很好地处理现有的内容,但不考虑已清理并将添加到数据库中的行项目。需要考虑这些因素吗