I have two models ProjectType and Project as follows
class ProjectType(Base):
name = models.CharField(max_length=100, unique=True)
class Meta:
db_table = 'project_types'
def __str__(self):
return self.name
class Project(Base):
name = models.CharField(max_length=100, unique=True)
project_type = models.ForeignKey(ProjectType, on_delete=models.DO_NOTHING, related_name='related_projects')
class Meta:
db_table = 'projects'
def __str__(self):
return self.code
and I have Mutations for both using SerializerMutation from Grapehene Django
class ProjectTypeMutation(SerializerMutation):
class Meta:
serializer_class = ProjectTypeSerializer
model_operation = ['create', 'update']
class ProjectMutation(SerializerMutation):
class Meta:
serializer_class = ProjectSerializer
model_operation = ['create', 'update']
class Mutation(graphene.ObjectType):
cudProjectType = ProjectTypeMutation.Field()
cudProject = ProjectMutation.Field()
When I perform a create mutation for project, I have to also specify the project_type. The resulting response also has the project_type but as a String. Not an object. Is there any way to get project_type back as an object?
Current Mutation ⬇️
mutation{
cudProject(input: {name: "Project1" project_type: "1"}) {
id
name
project_type
}
}
Is this the default way that is expected from Graphene Django or am I doing something wrong? Any way to do this using SerializerMutation or any other way in Graphene Django?
Or if there is a better way to have Create, Update, Delete Mutations implemented in Graphene Django?
I have two models
ProjectType
andProject
as followsand I have Mutations for both using
SerializerMutation
from Grapehene DjangoWhen I perform a create mutation for project, I have to also specify the
project_type
. The resulting response also has theproject_type
but as a String. Not an object. Is there any way to getproject_type
back as an object?Current Mutation ⬇️
Current Output ⬇️
The Solution I would Like
I want
project_type
to be an object which I can use as follows:Expected Mutation Request ⬇️ (This brings an error currently)
Expected Output ⬇️
Is this the default way that is expected from Graphene Django or am I doing something wrong? Any way to do this using
SerializerMutation
or any other way in Graphene Django?Or if there is a better way to have Create, Update, Delete Mutations implemented in Graphene Django?