Ich habe nach Best Practice gesucht, aber ich habe es nicht gefunden. Ich konnte sogar keine Lösung finden, die ich sonst noch brauche.Automatisch Benutzernamen in Benutzermodell in Django basierend auf anderen Feldern erstellen
ich muß Benutzername des Benutzers erzeugen, basierend auf seinen anderen Daten (erster & Nachnamen nennen), gegebenenfalls ganze Zahl am Ende angehängt, bis ich die eindeutigen Benutzername erhalten.
Ich bevorzuge das im Modell. Gibt es einen Standardweg dafür? Oder ist es nur in Formularen sinnvoll? Ich habe das Überladen verschiedener Modellmethoden sowie Signale untersucht und fand keinen geeigneten Platz, den ich hinzufügen könnte.
Ich habe darüber nachgedacht, das zu verwenden, aber ich mache mir Sorgen darüber, welche Formen das tatsächlich tun werden. Formulare validieren die Eingabe vor dem Aufruf von 'save()', damit das Feld als ungültig behandelt wird. Übrigens. 'obj.save()' wird auch 'pre_save' Signal nennen, also sollte ich das wahrscheinlich entfernen (oder durch etwas anderes ersetzen, das du im Sinn hast). – Tadeck
Ihre Lösung funktioniert, aber nicht immer (wenn die Validierung vor dem Speichern durchgeführt wird, haben wir Pech) und müssen angepasst werden (das Entfernen von 'obj.save()' und 'get_unique_username' sollte auch funktionieren, wenn wir das existierende Modell aktualisieren) . Im Allgemeinen denke ich, dass es keinen besseren Weg gibt, dies zu tun, also ist Ihre Antwort akzeptabel. Vielen Dank. – Tadeck
@Tadeck sehen Sie die Antwort, jetzt behandelt es Ihr spitzes Problem. – Ahsan