Zuid: voer een migratie uit voor een kolom die zowel uniek is als niet nul

Met South / Django kom ik een probleem tegen waarbij ik probeer een UNIEKE en NOT NULL toe te voegen kolom voor een model met bestaande rijen in de database. South vraagt ​​me om een ​​standaardwaarde voor de kolom op te geven, aangezien deze NOT NULL is. Maar aangezien het ook een UNIQUE beperking heeft, kan ik geen standaardwaarde toevoegen aan het veld in models.py, noch kan ik een eenmalige waarde specificeren omdat deze hetzelfde zal zijn voor alle rijen .

De enige manier die ik kan bedenken om dit te omzeilen, is door eerst een nullable-kolom te maken, de migratie toe te passen, een script uit te voeren om de bestaande rijen te vullen met unieke waarden in die kolom, en vervolgens nog een migratie toe te voegen om de UNIEKE beperking voor die kolom.

Maar is er een betere manier om hetzelfde te bereiken?

16
задан Jamie Forrest 29 August 2011 в 04:23
поделиться