python - Django中类似事务的实现方法?
怪我咯
怪我咯 2017-04-18 10:33:16
0
1
433
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)
迷茫

我覺得頁面設計邏輯可以改一下,先完善分類訊息,保存分類資訊後,再在這個分類資訊增加項目。這樣提交項目資訊的時候分類資訊一定是有的。
至於你說的情況,先創建項目,再賦予分類的話,肯定會產生無分類的項目,要不再加個頁面,查看所有無分類的項目,讓用戶去設置分類?

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!