graphql-python / graphql-python/graphene
Null Boolean Scalar
- Dominant language
- Python
- Stars
- 8.2k
- Forks
- 818
- PR merge metrics
- No merged PRs in 30d
Description
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
Contributor guide
No contributing guide indexed for this repository
Research direction
Start at construct_fields in graphene_django.types and trace how nullable model booleans are mapped. Confirm the expected GraphQL input and output behavior for None, True, and False, then add focused regression coverage. Done means nullable boolean fields preserve None without changing non-null boolean behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100