Fehler bei der Migration nach Süden: Name 'UUID' ist nicht definiert

8

Ich habe ein Modell mit einem CharField-Feld mit einem Standardwert von uuid4:

%Vor%

und dies verursacht den folgenden Fehler:

  

Das Feld 'f' für das Modell konnte nicht erfolgreich erstellt werden   'm': Name 'UUID' ist nicht definiert.

Ausführen des Migrationsbefehls! Kann ich dieses Problem beheben? Bisher habe ich es versucht:

  • um eine "Wrapper-Funktion" im Modul für uuid zu definieren (zB: def getUUID ())
  • Setzen Sie den Standardwert von "f" durch Überschreiben des Modellkonstruktors

... aber das Problem bleibt: (

ps. Ich weiß, dass ich Süden für benutzerdefinierte Felder anweisen kann, aber ich benutze keine benutzerdefinierten Felder meiner Meinung nach: P

    
daveoncode 23.02.2013, 13:55
quelle

2 Antworten

10

Ich habe die Definition der folgenden Hilfsfunktion im Modul meines Modells gelöst:

%Vor%

dann:

%Vor%

south generiert eine Migrationsdatei (migrations.0001_initial) mit einer generierten UUID wie:

%Vor%

das ist ziemlich unglücklich ... da diese Zeichenkette "statisch" ist, muss sie stattdessen dynamisch mit Hilfe der Hilfsfunktion erzeugt werden ... trotzdem scheint in der Django-Welt alles wie erwartet zu funktionieren ... Ich habe ein paar Datensätze hinzugefügt Datenbank und eine neue UUID wurde für jede generiert. Ich habe dann meine erste Schemamigration ausprobiert, indem ich ein paar Felder zu meinem Modell hinzugefügt habe und sie wie erwartet der Datenbanktabelle hinzugefügt wurden.

    
daveoncode 23.02.2013, 15:02
quelle
4

Sie können UUID auch in Ihre Migration importieren:

%Vor%     
Mindscope 19.01.2014 18:50
quelle

Tags und Links