Skip to content

Instantly share code, notes, and snippets.

@georgefs
Last active December 21, 2015 20:29
Show Gist options
  • Select an option

  • Save georgefs/6361529 to your computer and use it in GitHub Desktop.

Select an option

Save georgefs/6361529 to your computer and use it in GitHub Desktop.
django booleanfield issue

不知道有沒有人會直接用django form fields來做輸入驗證, 不過我是做了..

像是這樣

from django import forms
forms.DateTimeField().clean('2013-02-01')

datetime.datetime(2013, 2, 1, 0, 0)

可以直接幫你把字串解成時間..

不過再處理booleanfield 的時候出了點小問題

from django import forms
forms.BooleanField().clean(True)

True 這沒問題

from django import forms
forms.BooleanField().clean(False)
from django import forms
forms.BooleanField().clean('false')
from django import forms
forms.BooleanField().clean('0')

.... 等等, 都會報

ValidationError: [u'This field is required.']

這樣的狀況是正常的? 設定 (required=False) 跳過這段的判斷就會正常.. 看code的邏輯也是這樣.. 想請教看看是不是我用法錯誤

@timtan

timtan commented Aug 28, 2013

Copy link
Copy Markdown

import django
from django import forms
f = forms.BooleanField(required=True)
f.clean('true')

在這狀況,都沒有 Exception 耶?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment