mirror of
https://github.com/graphql-python/graphene-django.git
synced 2025-07-13 17:52:19 +03:00
Fix return type
This commit is contained in:
parent
9aeee283fa
commit
fd516a3f6f
|
@ -125,8 +125,7 @@ class DjangoFormMutation(BaseDjangoFormMutation):
|
|||
input_fields
|
||||
)
|
||||
|
||||
# TODO: output
|
||||
|
||||
output_fields = OrderedDict()
|
||||
|
||||
if hasattr(form, '_meta') and hasattr(form._meta, 'model'):
|
||||
model = form._meta.model
|
||||
|
@ -141,15 +140,31 @@ class DjangoFormMutation(BaseDjangoFormMutation):
|
|||
|
||||
if not return_field_name:
|
||||
model_name = model.__name__
|
||||
|
||||
return_field_name = model_name[:1].lower() + model_name[1:]
|
||||
|
||||
output_fields = OrderedDict()
|
||||
# TODO: model_type might be none
|
||||
|
||||
output_fields[return_field_name] = graphene.Field(model_type)
|
||||
else:
|
||||
# TODO: return field name support
|
||||
output_fields = fields_for_form(form, only_fields, exclude_fields)
|
||||
form_name = form.__class__.__name__
|
||||
|
||||
return_field_name = 'TODOFROMForm' if not return_field_name else return_field_name
|
||||
if not return_field_name:
|
||||
return_field_name = form_name[:1].lower() + form_name[1:]
|
||||
|
||||
# TODO: registry
|
||||
|
||||
form_fields = fields_for_form(
|
||||
form, only_fields, exclude_fields
|
||||
)
|
||||
|
||||
form_type = type(
|
||||
form_name,
|
||||
(graphene.ObjectType, ),
|
||||
yank_fields_from_attrs(form_fields, _as=graphene.Field),
|
||||
)
|
||||
|
||||
output_fields[return_field_name] = graphene.Field(form_type)
|
||||
|
||||
output_fields['errors'] = graphene.Field(cls.Errors, required=True)
|
||||
|
||||
|
|
|
@ -38,8 +38,8 @@ def test_has_output_fields():
|
|||
class Meta:
|
||||
form_class = MyForm
|
||||
|
||||
assert "text" in MyMutation._meta.fields
|
||||
|
||||
assert "myForm" in MyMutation._meta.fields
|
||||
assert 'text' in MyMutation._meta.fields['myForm'].type._meta.fields
|
||||
|
||||
def test_has_input_fields():
|
||||
class MyMutation(DjangoFormMutation):
|
||||
|
@ -96,6 +96,16 @@ def test_return_field_name_is_camelcased():
|
|||
assert FilmDetailsMutation._meta.return_field_name == "filmDetails"
|
||||
|
||||
|
||||
def test_custom_return_field_name():
|
||||
class MyFormMutation(DjangoFormMutation):
|
||||
class Meta:
|
||||
form_class = MyForm
|
||||
return_field_name = "cat"
|
||||
|
||||
assert MyFormMutation._meta.return_field_name == "cat"
|
||||
assert "cat" in MyFormMutation._meta.fields
|
||||
|
||||
|
||||
def test_custom_return_field_name_model_form():
|
||||
class FilmDetailsMutation(DjangoFormMutation):
|
||||
class Meta:
|
||||
|
|
Loading…
Reference in New Issue
Block a user