On Fri, Feb 4, 2011 at 12:12 PM, Tom Evans <[email protected]> wrote:
> On Fri, Feb 4, 2011 at 11:07 AM, Marc Aymerich <[email protected]> wrote:
>> Hi
>> In some choices widgets I want to represent null values as u'No
>> period' instead of u'--------'
>>
>> I try with:
>>
>> PERIOD_CHOICES = getattr(settings, 'PERIOD_CHOICES',
>> ((None,
>> ugettext('No Period')),
>> (DAILY,
>> ugettext('Daily')),
>> (MONTHLY,
>> ugettext('Monthly')),
>> (ANUAL,
>> ugettext('Anual')),
>> ))
>> period = models.CharField(max_length=1,
>> choices=settings.PERIOD_CHOICES, null=True)
>>
>> But when I choose "No Period" I get this form validation error: Value
>> u'None' is not a valid choice.
>>
>> Any idea?
>> Thanks!
>
> form.Field doesn't take null as an option, you want required[1]:
>
> """
> By default, each Field class assumes the value is required, so if you
> pass an empty value -- either None or the empty string ("") -- then
> clean() will raise a ValidationError exception:
> """
>
> Cheers
>
> Tom
>
> [1] http://docs.djangoproject.com/en/1.2/ref/forms/fields/#required
Hi Tom,
I override the default admin form with this:
class MonitorAdminForm(ModelForm):
class Meta:
model = Monitor
period = forms.ChoiceField(required=False, choices =
settings.PERIOD_CHOICES)
Now period has required=False but still raise the validation error:
Value u'None' is not a valid choice.
What is strange for me is although I put the None value on
PERIOD_CHOICES the error seems to say that None is interpreted as a
unicode instead of None. Maybe this is the point, if it's, how can I
declare a null value in PERIOD_CHOICES definition ?
Thanks!
--
Marc
--
You received this message because you are subscribed to the Google Groups
"Django users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/django-users?hl=en.