我在django中有几个连接多对多的模型.我想在内存中创建这些模型的实例,将它们呈现给用户(通过view-templates中的自定义方法调用),如果用户满意,则将它们保存到数据库中.
但是,如果我尝试对模型实例(例如,调用呈现方法)执行任何操作,则会收到一条错误消息,指出我必须先保存实例.文档说这是因为模型处于多对多的关系中.
如何向用户显示对象并允许他/她保存或丢弃它们而不会使我的数据库混乱?
(我想我可以关闭交易处理并在整个项目中自己完成,但这听起来像是一个容易出错的措施...)
谢谢!
我会添加一个字段,指示对象是"草稿"还是"实时".这样他们就会在请求,会话等方面持续存在,并且django停止抱怨.
然后,您可以过滤对象以仅在公共视图中显示"实时"对象,并仅向创建它们的用户显示"草稿"对象.这也可以扩展为允许"存档"对象(或任何其他有意义的状态).