我在我的模型中有一個字段,像這樣但現在該表/模型有很多數據,需要將True
更改爲False
,但不必刪除桌子上,再次粉碎它,我該怎麼做?從我的模型字段更改unique = True到unique = False
1
A
回答
1
使用生成新的遷移:
python manage.py makemigrations
以上將檢測更改您的模型,並生成一個遷移類,但沒有執行任何SQL呢。
要生成/的SQL應用到數據庫:migrate
前
python manage.py migrate
如果你想看到將要更新數據庫前要執行的SQL這樣做:
python sqlmigrate {app_label} {migration_module}
編輯:以上將重命名您的表後綴__old
,創建一個新表並將數據從舊到新插入,然後刪除原始表。所以,不知道這是你想要的..
另一種選擇是使用普通的SQL來達到你想要什麼:
ALTER TABLE table_name DROP CONSTRAINT constraint_name;
但請記住,爲了讓您的遷移更新的新的運行,發現遷移類聲明您的字段是唯一的,並將unique=True
更改爲unique=False
。如果需要更新任何其他服務器,則可以在此處運行drop constraint命令,以便所有內容都同步。
1
只需將模型中的值更改爲False,然後進行遷移和遷移。這會將數據庫中的所有項目更新爲新值。這是如果你使用南的新版本,而不是使用syncdb。
+0
其實我使用Django 1.8.5,所以我不使用南方 –
相關問題
- 1. 在django中從「unqiue = True」更改爲「unique = False」
- 2. 表單字段(unique = true)和(nullable = true)
- 3. 如何更改表以將列從UNIQUE更改爲NOT UNIQUE?
- 4. Google App Engine unique = True?
- 5. Django ORM update with unique = True
- 6. slqlalchemy UniqueConstraint VS Index(unique = True)
- 7. Django Python unique = True表達式
- 8. Symfony UniqueEntity vs UniqueConstraint vs unique = true
- 9. GreenDAO不尊重@Unique字段
- 10. Symfony的形模型對@unique新電子郵件字段
- 11. MySQL:如何將varchar(255)UNIQUE列更改爲UNIQUE文本NOT NULL?
- 12. MySQL Select Unique with Unique列
- 13. @UniqueConstraint和@Column(unique = true)在休眠註釋
- 14. SQL Server 2005中的UNIQUE字段
- 15. UNIQUE和UNIQUE KEY之間的區別mySQL
- 16. Spring Data Neo4J @Indexed(unique = true)not working
- 17. db_index和unique在OneToOne關係上爲True
- 18. UNIQUE INDEX和UNIQUE KEY有什麼區別?
- 19. 如何在不使用ModelForm的情況下驗證/清除()unique = True字段?
- 20. 如何在ElasticSearch中將字段從index = false更改爲index = true
- 21. Mongo @DBRef unique
- 22. Un-UNIQUE列mysql
- 23. CREATE UNIQUE TOKEN(NUMERIC)
- 24. Trouble Downing Unique Constraint
- 25. arraycollection unique var
- 26. RowGuide和UNIQUE KEY
- 27. MySQL KEY/UNIQUE KEY
- 28. MySql:Composite Unique Key
- 29. UNIQUE和PRIMARY KEY
- 30. 使用泛型檢查@Unique的@Entity
當我使用'python manage.py makemigrations'時,我得到「沒有檢測到變化」 –
謝謝,我用普通的sql做,顯然更喜歡用django來做,但我需要快速解決這個問題。 –
確定你可以用sql修復它,然後修改你的遷移腳本。到目前爲止,你是如何處理遷移的?你有沒有0001_initial.py和其他遷移目錄? – fips