Django Graphene мутация удаляет объекты вместо обновления
Есть такая мутация и довольно простая функция update, я ожидаю, что она будет обновлять только один параметр объекта, затем сохраняет его. На самом деле, при первом запросе она возвращает ожидаемый ответ, но объекты удаляются из БД.
class PortfolioMutation(graphene.Mutation):
class Arguments:
portfolio_id = graphene.ID()
visible = graphene.Boolean()
portfolio = graphene.Field(PortfolioType)
@classmethod
def mutate(cls, root, info, portfolio_id, visible):
portfolio = Portfolio.objects.get(pk=portfolio_id)
portfolio.visible = visible
portfolio.save()
return PortfolioMutation(portfolio=portfolio)
class UpdatePortfolio(graphene.ObjectType):
"""
Portfolios mutation
"""
update_portfolio = PortfolioMutation.Field()
schema = graphene.Schema(query=QueryPortfolios, mutation=UpdatePortfolio)
Точный запрос
mutation UpdatePortfolio{
updatePortfolio(portfolioId: 1509, visible: false) {
portfolio {
name
visible
}
}
}
Respnse
{
"data": {
"updatePortfolio": {
"portfolio": {
"name": "High Yield Corporate Bonds",
"visible": false
}
}
}
}
Где я ошибся?