Vylepšení odevzdávátka #13
1 changed files with 1 additions and 4 deletions
|
|
@ -208,11 +208,8 @@ class ProfileEditForm(forms.Form):
|
||||||
prezdivka_resitele = self.cleaned_data.get('prezdivka_resitele')
|
prezdivka_resitele = self.cleaned_data.get('prezdivka_resitele')
|
||||||
if prezdivka_resitele == '':
|
if prezdivka_resitele == '':
|
||||||
return prezdivka_resitele
|
return prezdivka_resitele
|
||||||
try:
|
if Resitel.objects.filter(prezdivka_resitele=prezdivka_resitele).exclude(osoba__user__username=self.username).count() > 0:
|
||||||
Resitel.objects.get(prezdivka_resitele=prezdivka_resitele)
|
|
||||||
raise forms.ValidationError('Přezdívka je již použita')
|
raise forms.ValidationError('Přezdívka je již použita')
|
||||||
|
zelvuska marked this conversation as resolved
Outdated
|
|||||||
except ObjectDoesNotExist:
|
|
||||||
pass
|
|
||||||
return prezdivka_resitele
|
return prezdivka_resitele
|
||||||
|
|
||||||
def clean_email(self):
|
def clean_email(self):
|
||||||
|
zelvuska marked this conversation as resolved
Outdated
ledoian
commented
Reálně se celý try-block snaží jen imitovat podmínku „pokud přezdívka není zabraná“ – je přehlednější to vyřešit spíš něčím jako Reálně se celý try-block snaží jen imitovat podmínku „pokud přezdívka není zabraná“ – je přehlednější to vyřešit spíš něčím jako `if m.Resitel.objects.….count() > 0: raise Exception()` (ne nutně na jednom řádku a s určitě s příslušnými třídami a doplněními).
|
|||||||
|
|
|
||||||
Loading…
Reference in a new issue
Tohle velmi zní, jako že ta přezdívka prostě nejde editovat vůbec – pokud už v databázi jsem, tak tohle matchne.
?
Pokud si Alice nastaví přezdívku „Axolotl“, tak ji má v databázi. Dotaz
Restitel.objects.get(prezdivka=Axolotl)tedy tuto přezdívku najde a celýResitelEditFormkvůli tomu nepůjde Alici odeslat, přestože je to její přezdívka.Promiň, tvůj komentář jsem pochopil jinak. Samozřejmě tohle je špatně… Dík
Ha, já nevím, podle čeho určit, který řešitel to edituje…
A nestačí to prostě uložit a zjistit, jestli to vyšlo? (Dost možná nestačí, nemám nastudovanou interakci formů a modelů, ale kdyby to stačilo, tak je to zdaleka nejjednodušší…)
A poznáš, co selhalo? A přijde mi, že tohle by mělo být ještě v clean_…
Vyřešeno. Ten objekt má při použití nastavený username…