2017-02-02 1 views
0

Ich möchte das eindeutige ID-Feld für das Django-Benutzermodell definieren. Ich möchte die Zahlen wie 0000-0000-0001, 0000-0000-0002, wenn Sie die Modelle speichern.Django auto generiere Identifikationsnummer

Ansatz: Ich kann Feld als Char definieren und post_save Signal kann die Kennung basierend auf Primärschlüssel aktualisieren.

Gibt es eine automatische Art und Weise Nummer wie dies für die Benutzerkennung (nicht Primärschlüssel)

+2

Vergebliche Anstrengung, Verschwendung von Zeit und Energie. Verwenden Sie die Zeichenfolgenformatierung, um sie bei der Anzeige der Zahlen so anzuzeigen. – e4c5

+0

Sollten sie aufeinander folgen? Wenn nicht, können Sie 'Uuid' Modul verwenden – Marii

+0

@ e4c5 habe es richtig gemacht. Einfach die 'user.id' auf diese Weise formatieren und fertig. – Selcuk

Antwort

0

zu erzeugen, bis jemand schlaue Lösung für die streicht getrennt hat Zero-Padding Formatierung den Primärschlüssel des Benutzers angezeigt werden kann wie folgt:

_id = "{:0>9d}".format(user.pk) 
identifier = "{}-{}-{}".format(_id[0:3], _id[3:6], _id[6:])