python - Django中類似事務(wù)的實(shí)現(xiàn)方法?
問(wèn)題描述
class Category(models.Model): c_name = models.CharField(max_length=100)class Item(models.Model): '''外鍵關(guān)聯(lián)到Category''' i_name = models.CharField(max_length=100) category = models.ForeignKey(’Category’, related_name=’items’, null=True, blank=True)
表結(jié)構(gòu)是這樣, 要實(shí)現(xiàn)在頁(yè)面上新建一個(gè)分類的時(shí)候, 可以在同一個(gè)頁(yè)面新建/編輯這個(gè)分類包含的項(xiàng)目和項(xiàng)目具體信息
目前想到的做法是, 頁(yè)面上有添加項(xiàng)目的按鈕, 點(diǎn)擊按鈕的時(shí)候就通過(guò)Ajax在數(shù)據(jù)庫(kù)中生成了新項(xiàng)目, 然后在保存分類的時(shí)候, 再把剛才的項(xiàng)目和分類做關(guān)聯(lián);但這樣做的問(wèn)題是, 如果編輯/新建分類的時(shí)候刷新了頁(yè)面, 或者其他原因沒(méi)有最終點(diǎn)擊保存的話, 數(shù)據(jù)庫(kù)中會(huì)增加很多沒(méi)有外鍵的Item數(shù)據(jù)
請(qǐng)問(wèn)實(shí)現(xiàn)這個(gè)功能更好的解決辦法是什么? 或者說(shuō)有什么辦法, 判斷在分類沒(méi)有成功保存的情況下, 回滾之前建立的項(xiàng)目?
問(wèn)題解答
回答1:我覺(jué)得頁(yè)面設(shè)計(jì)邏輯可以改一下,先完善分類信息,保存分類信息后,再在這個(gè)分類信息增加項(xiàng)目。這樣提交項(xiàng)目信息的時(shí)候分類信息肯定是有的。至于你說(shuō)的情況,先創(chuàng)建項(xiàng)目,再賦予分類的話,肯定會(huì)產(chǎn)生無(wú)分類的項(xiàng)目,要不再加個(gè)頁(yè)面,查看所有無(wú)分類的項(xiàng)目,讓用戶去設(shè)置分類?
相關(guān)文章:
1. javascript - jq 上傳圖片成功后添加一個(gè)新的上傳框時(shí)出現(xiàn)問(wèn)題2. html5 - 最近在自學(xué)react 求一個(gè)react表單提交的例子3. 老師您好!我有一個(gè)問(wèn)題、4. mysql - 千萬(wàn)數(shù)據(jù) 分頁(yè),當(dāng)偏移量 原來(lái)越大時(shí),怎么優(yōu)化速度5. python - 《flask web 開(kāi)發(fā)》一書(shū),數(shù)據(jù)庫(kù)中多對(duì)多關(guān)系的實(shí)現(xiàn)問(wèn)題?6. javascript - 微信內(nèi)置瀏覽器的ua是多少?7. python - angular route 與 django urls 沖突怎么解決?8. 我和老師的代碼對(duì)照了幾遍沒(méi)發(fā)現(xiàn)問(wèn)題,但是瀏覽器打開(kāi)就有問(wèn)題了,求解9. python django工程上傳一張照片調(diào)用python方法時(shí)報(bào)錯(cuò),請(qǐng)問(wèn)如何處理?10. python - django中普通用戶如何利用admin修改自己的信息?
