@@ -47,7 +47,7 @@ def description(self):
4747 return named_choices_descriptions [self .name ]
4848
4949 enum = Enum (name , list (named_choices ), type = EnumWithDescriptionsType )
50- return enum (description = field .help_text )
50+ return enum (description = field .help_text , required = not field . null )
5151 return convert_django_field (field , registry )
5252
5353
@@ -67,12 +67,12 @@ def convert_django_field(field, registry=None):
6767@convert_django_field .register (models .FileField )
6868@convert_django_field .register (UUIDField )
6969def convert_field_to_string (field , registry = None ):
70- return String (description = field .help_text )
70+ return String (description = field .help_text , required = not field . null )
7171
7272
7373@convert_django_field .register (models .AutoField )
7474def convert_field_to_id (field , registry = None ):
75- return ID (description = field .help_text )
75+ return ID (description = field .help_text , required = not field . null )
7676
7777
7878@convert_django_field .register (models .PositiveIntegerField )
@@ -81,7 +81,7 @@ def convert_field_to_id(field, registry=None):
8181@convert_django_field .register (models .BigIntegerField )
8282@convert_django_field .register (models .IntegerField )
8383def convert_field_to_int (field , registry = None ):
84- return Int (description = field .help_text )
84+ return Int (description = field .help_text , required = not field . null )
8585
8686
8787@convert_django_field .register (models .BooleanField )
@@ -91,18 +91,18 @@ def convert_field_to_boolean(field, registry=None):
9191
9292@convert_django_field .register (models .NullBooleanField )
9393def convert_field_to_nullboolean (field , registry = None ):
94- return Boolean (description = field .help_text )
94+ return Boolean (description = field .help_text , required = not field . null )
9595
9696
9797@convert_django_field .register (models .DecimalField )
9898@convert_django_field .register (models .FloatField )
9999def convert_field_to_float (field , registry = None ):
100- return Float (description = field .help_text )
100+ return Float (description = field .help_text , required = not field . null )
101101
102102
103103@convert_django_field .register (models .DateField )
104104def convert_date_to_string (field , registry = None ):
105- return DateTime (description = field .help_text )
105+ return DateTime (description = field .help_text , required = not field . null )
106106
107107
108108@convert_django_field .register (models .OneToOneRel )
@@ -114,7 +114,7 @@ def dynamic_type():
114114 if not _type :
115115 return
116116
117- return Field (_type )
117+ return Field (_type , required = not field . null )
118118
119119 return Dynamic (dynamic_type )
120120
@@ -149,7 +149,7 @@ def dynamic_type():
149149 return
150150
151151 if isinstance (field .field , models .OneToOneField ):
152- return Field (_type )
152+ return Field (_type , required = not field . field . null )
153153
154154 if is_node (_type ):
155155 return get_connection_field (_type )
@@ -168,7 +168,7 @@ def dynamic_type():
168168 if not _type :
169169 return
170170
171- return Field (_type , description = field .help_text )
171+ return Field (_type , description = field .help_text , required = not field . null )
172172
173173 return Dynamic (dynamic_type )
174174
@@ -178,18 +178,18 @@ def convert_postgres_array_to_list(field, registry=None):
178178 base_type = convert_django_field (field .base_field )
179179 if not isinstance (base_type , (List , NonNull )):
180180 base_type = type (base_type )
181- return List (base_type , description = field .help_text )
181+ return List (base_type , description = field .help_text , required = not field . null )
182182
183183
184184@convert_django_field .register (HStoreField )
185185@convert_django_field .register (JSONField )
186186def convert_posgres_field_to_string (field , registry = None ):
187- return JSONString (description = field .help_text )
187+ return JSONString (description = field .help_text , required = not field . null )
188188
189189
190190@convert_django_field .register (RangeField )
191191def convert_posgres_range_to_string (field , registry = None ):
192192 inner_type = convert_django_field (field .base_field )
193193 if not isinstance (inner_type , (List , NonNull )):
194194 inner_type = type (inner_type )
195- return List (inner_type , description = field .help_text )
195+ return List (inner_type , description = field .help_text , required = not field . null )
0 commit comments