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

请问实现这个功能更好的解决办法是什么? 或者说有什么办法, 判断在分类没有成功保存的情况下, 回滚之前建立的项目?

怪我咯
怪我咯

走同样的路,发现不同的人生

membalas semua(1)
迷茫

Saya rasa logik reka bentuk halaman boleh diubah Mula-mula, perbaiki maklumat pengelasan, simpan maklumat pengelasan, dan kemudian tambah item pada maklumat pengelasan ini. Dengan cara ini, apabila menyerahkan maklumat projek, maklumat klasifikasi mesti tersedia.
Bagi situasi yang anda nyatakan, jika anda membuat projek dahulu dan kemudian menetapkan kategori, pasti akan ada projek yang tidak dikategorikan. Bagaimana pula dengan menambah halaman untuk melihat semua projek yang tidak dikategorikan dan membenarkan pengguna menetapkan kategori?

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!