python - Django中类似事务的实现方法?
问题描述
class Category(models.Model): c_name = models.CharField(max_length=100)class Item(models.Model): '''外键关联到Category''' i_name = models.CharField(max_length=100) category = models.ForeignKey(’Category’, related_name=’items’, null=True, blank=True)
表结构是这样, 要实现在页面上新建一个分类的时候, 可以在同一个页面新建/编辑这个分类包含的项目和项目具体信息
目前想到的做法是, 页面上有添加项目的按钮, 点击按钮的时候就通过Ajax在数据库中生成了新项目, 然后在保存分类的时候, 再把刚才的项目和分类做关联;但这样做的问题是, 如果编辑/新建分类的时候刷新了页面, 或者其他原因没有最终点击保存的话, 数据库中会增加很多没有外键的Item数据
请问实现这个功能更好的解决办法是什么? 或者说有什么办法, 判断在分类没有成功保存的情况下, 回滚之前建立的项目?
问题解答
回答1:我觉得页面设计逻辑可以改一下,先完善分类信息,保存分类信息后,再在这个分类信息增加项目。这样提交项目信息的时候分类信息肯定是有的。至于你说的情况,先创建项目,再赋予分类的话,肯定会产生无分类的项目,要不再加个页面,查看所有无分类的项目,让用户去设置分类?
相关文章:
1. 一道使用算法解决的java题(关于hashmap的问题)2. javascript - react 中绑定事件和阻止事件冒泡3. java - .jsp页面用<%= %>的方式获取数据存在一个很奇怪的问题4. javascript - requestAnimationFrame如何控制帧速?5. node.js - Nodejs微信开发,视频上传成功,但是不返回给用户6. javascript - 百度链接尾部的这个参数是干嘛的?7. mysql - 这条sql可以怎么优化,求帮助8. 热切期待朱老师的回复,网页视频在线播放器插件配置错误9. mysql索引的疑问10. 老师,请问下为什么这个地方的单引号里面的变量能够被解析呢?

网公网安备