2015-01-11 6 views
6

, więc widziałem wiele rozwiązań, ale znalazłem większość odpowiedzi dla starszych wersji Django i zastanawiałem się, czy są jakieś zmiany w tym.Najłatwiejszy i najszybszy sposób na zwiększenie domyślnej nazwy użytkownika Django na maksymalną długość od 30 do 75

Zasadniczo używam Django 1.7, i chciałem zastąpić pole u username w domyślnej klasie Django USER, aby umożliwić więcej niż 30 znaków, tj. max_length=75.

Byłbym za pomocą AbstractBaseUser zamiast czy istnieje prostszy sposób umieścić max_length=75

+0

'długość username' ale wzrosła w Django 1.10 do 150 znaków (https: // docs .djangoproject.com/en/1.10/releases/1.10/# abstractuser-username-max-length-increase-to-150). Jeśli to wciąż za mało, zalecamy użycie niestandardowego modelu użytkownika (informacje skopiowane z AndreiPetre). – jjmontes

Odpowiedz

3

Tak myślę, że będą musieli zejść z trasy na zlecenie użytkownika.

Możesz zajrzeć tutaj, aby uzyskać pewne inspiracje https://github.com/jcugat/django-custom-user, który pakiet implementuje contrib.auth.User z wyjątkiem bez nazwy użytkownika i po prostu za pomocą poczty e-mail. Możesz prawdopodobnie dowiedzieć się, jak zrobić to, co chcesz.

Podobna kwestia została wysłana gdzie użytkownik szczegółowo bardzo hacky pracę wokół, ale to może cię przez w kropce: Longer username in Django 1.7

+0

Widzę, no cóż, dopóki nie ma lepszego podejścia, oznaczając swoją odpowiedź jako poprawną :) – psychok7

+0

Wielkie dzięki, w interesie, jaka jest potrzeba dłuższych nazw użytkownika? –

+0

Miałem przypadek użycia, w którym nazwa użytkownika powinna być taka sama, jak wiadomość e-mail. W końcu zmieniliśmy ten przypadek użycia i "ignorujemy" nazwę użytkownika (używając Uuid), ponieważ jest zbyt późno w projekcie, aby zmienić/rozszerzyć Auth użytkownika. – psychok7

Powiązane problemy