我剛剛在我的Django站點中的某個模型的某個字段中添加了默認值。我設置默認值之前存在的此類型的所有對象對此字段都爲空值。我希望在設置默認值之前,將剛剛設置的新默認值向後傳播到所有已存在的對象上。我怎樣才能做到這一點?將新的默認值傳播給舊的Django對象
回答
只要運行一個更新查詢:
MyModel.objects.filter(myfield__isnull=True).update(myfield=new_value)
我用一條非常相似的代碼行解決了我的問題:'orm ['main.mymodel']。objects.filter(myfield__isnull = True).update(myfield = 0)'。我將該行放在我的其中一個遷移腳本的forwards方法中。 – abw333
您需要使用South進行Schemamigration。這很容易,只需按照他們的文檔教程。如果您從字段中刪除null=True, blank=True
,它會詢問您希望空/空字段是什麼,並且您可以輸入默認值。
我刪除了'null = True,blank = True',然後運行'python manage.py schemamigration main --auto',然後運行'python manage.py migrate main'。它產生了以下錯誤:'django.db.utils.IntegrityError:_south_new_main_network.panel_image_file_id可能不是NULL',而不是問我關於我的空/空字段。請指教。 – abw333
- 1. 傳輸對象默認值不傳輸
- 2. 默認對象值的值
- 3. Java將值傳遞給新對象
- 4. 將0傳遞給默認值
- 5. 將默認值傳遞給AddNew組件
- 6. 默認對象值
- 7. 將默認值分配給快遞公司的請求對象
- 8. 將默認值返回給預定義的javascript對象
- 9. 我可以將默認參數值傳遞給PropertyGrid中的對象屬性
- 10. fabricjs克隆的對象影響舊的(默認)對象
- 11. Django的默認值
- 12. joomla 2.5將默認值傳遞給新項目
- 13. 將GKSession傳遞給新的CCLayer對象?
- 14. 將對象綁定爲默認值
- 15. Python將默認值設爲對象
- 16. 將對象傳遞給Django表單
- 17. Django將對象傳遞給類
- 18. Django將對象傳遞給視圖
- 19. 將GridView的選定值傳遞給DropDownList默認值
- 20. ORM對象的值作爲Django的默認模式場1.7
- 21. 將默認的整數值傳遞給Biztalk中的WCF服務
- 22. Django的ModelMultipleChoiceField(默認值)
- 23. 默認值的Django遷移
- 24. 未將新值傳遞給尚未銷燬的對象
- 25. 爲什麼Mockito會給我模擬對象的默認值?
- 26. 如何將默認值傳遞給shell腳本中的變量?
- 27. 有沒有辦法將一個默認對象傳遞給nodejs中的require?
- 28. 如何將新活動的值傳遞給舊活動?
- 29. 表單對象字段的默認值
- 30. WPF DataGrid - 生成對象的默認值
感謝所有丹尼爾上漲*的那裏! – abw333