graphene icon indicating copy to clipboard operation
graphene copied to clipboard

Null Boolean Scalar

Open japrogramer opened this issue 3 years ago • 0 comments

Im always frustrated when my model has a null able boolean field and the method from graphene_django.types import construct_fields returns a Boolean Scalar field which can only be True or False but not None

Some fields should not have a default for this types of boolean fields.

perhaps a scalar like this?

class NullBoolean(Scalar): '''NullBoolean Scalar Description'''

@staticmethod
def serialize(dt):
    return dt

@staticmethod
def parse_literal(node):
    if isinstance(node, ast.StringValue):
        if node.value == 'Yes':
            return True
        if node.value == 'No':
            return False
        return None

@staticmethod
def parse_value(value):
    return value

japrogramer avatar Jul 28 '21 07:07 japrogramer