Opracowałem formularz, w którym użytkownik dodaje swoje first name
i last name
.Slugify string w Django
Dla username
(nieruchomości unique
), mam opracowane następujące metody:
FirstName
: Harry LastName
: Potter ->username
: Harry Potter-
FirstName
: HARRY LastName
: POTTER - ->username
: Harry Potter--1
FirstName
: Harry LastName
: Potter ->username
: Harry Potter-2-
I tak dalej ..
Oto moja definicja funkcji:
def return_slug(firstname, lastname):
u_username = firstname.title()+'-'+lastname.title() //Step 1
u_username = '-'.join(u_username.split()) //Step 2
count = User.objects.filter(username=u_username).count() //Step 3
if count==0:
return (u_username)
else:
return (u_username+'-%s' % count)
nie mogę dowiedzieć się, co zrobić przed Step 3
na realizację. Gdzie powinienem umieścić [:len(u_username)]
, aby porównać łańcuchy?
Edycja:
metoda ta jest stosowana, gdy istnieje wiele przypadków Harry-Potter
przez rozwiązanie problemu dodając całkowitą w końcu. Moje pytanie brzmi: w jaki sposób sprawdzisz, jaka była ostatnia liczba całkowita dodana do Harry-Potter
.
chcesz stworzyć pocisk z imienia i nazwiska? Co trzeba liczyć? – PepperoniPizza
@PepperoniPizza: Chcę policzyć, ile 'Harry-Potter-X', {gdzie' X' jest liczbą całkowitą} jest obecnych w bazie danych. Na przykład, jeśli jest tam '' Harry-Potter-56', to następna powinna otrzymać 'nazwę użytkownika' jako' Harry-Potter-57' – xan
OK, rozumiem, czy możesz zamieścić swój model, żeby pomyśleć o zapytanie ? – PepperoniPizza