python - how to check the field "select"? -
python - how to check the field "select"? -
please help check field 'select'.
model:
class message(models.model): reciever = models.foreignkey( user, related_name='recipient', blank=false, null=false, ) theme = models.charfield( 'Тема сообщения', max_length=200, blank=true, null=true, ) text = models.textfield( 'Текст сообщения', max_length=10000, blank=false, )
forms:
class createmessageform(forms.modelform): class meta: model = message fields = ( 'reciever', 'theme', 'text', ) def clean_reciever(self): reciever = self.cleaned_data['reciever'] if reciever == '': raise forms.validationerror("Это обязательное поле") homecoming reciever
tpl:
<form id="createmessageform"action="" method="post"> {% csrf_token %} <div class="cell input_outer"> <label class="label">{{ form.reciever.label }}</label> {{ form.reciever }} {{ form.reciever.errors }} </div> <div class="cell input_outer"> <label class="label">{{ form.theme.label }}</label> {{ form.theme }} {{ form.theme.errors }} </div> <div class="cell textarea_outer textarea_message"> <label class="label">{{ form.text.label }}</label> {{ form.text }} {{ form.text.errors }} </div> <div class="cell submit_outer"> <input class="btn btn-default" type="submit" value="Отправить" /> </div> </form>
field reciever drop-down list. need check value of field reciever. need not filled field reciever display error message.
my code not work. is, error message displayed.
from docs:
the clean_() method in form subclass – replaced name of form field attribute. method cleaning specific particular attribute, unrelated type of field is. method not passed parameters. need value of field in self.cleaned_data , remember python object @ point, not original string submitted in form (it in cleaned_data because general field clean() method, above, has cleaned info once).
so value has been input user in receiver (mind spelling) field not contained in self.cleaned_data["receiver"]. have modify check in line
if receiver == '':
python django
Comments
Post a Comment