From 276ed80fd302184dddb3af01e53d43be4aef15e4 Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Tue, 1 Nov 2016 11:11:34 +0000 Subject: [PATCH] Support 'on'/'off' literals with BooleanField. Closes #4624 (#4640) --- rest_framework/fields.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/rest_framework/fields.py b/rest_framework/fields.py index f75fcfe05..13b5145ba 100644 --- a/rest_framework/fields.py +++ b/rest_framework/fields.py @@ -644,8 +644,20 @@ class BooleanField(Field): } default_empty_html = False initial = False - TRUE_VALUES = {'t', 'T', 'true', 'True', 'TRUE', '1', 1, True} - FALSE_VALUES = {'f', 'F', 'false', 'False', 'FALSE', '0', 0, 0.0, False} + TRUE_VALUES = { + 't', 'T', + 'true', 'True', 'TRUE', + 'on', 'On', 'ON', + '1', 1, + True + } + FALSE_VALUES = { + 'f', 'F', + 'false', 'False', 'FALSE', + 'off', 'Off', 'OFF', + '0', 0, 0.0, + False + } def __init__(self, **kwargs): assert 'allow_null' not in kwargs, '`allow_null` is not a valid option. Use `NullBooleanField` instead.'