【问题标题】:default value of model.UUIDField() doesnt seem to be called in django graphene在 django 石墨烯中似乎没有调用 model.UUIDField() 的默认值
【发布时间】:2020-11-02 01:26:21
【问题描述】:

我正在尝试使用 django 和石墨烯构建一个应用程序,并且我想为我的模型中的一个字段设置一个默认值。突变真的很简单。我已将所有必需的参数作为对象传递,可选参数使用**kwargs

Django 在**options for models.UUIDField() 上的文档说,如果将 None 类型的对象发送到模型字段,则将使用默认值。

当我尝试使用我的突变而不传递任何值/将 None 作为值传递给参数时,我得到 graphql.error.located_error.GraphQLLocatedError: NOT NULL constraint failed: games_game.groupid 错误被提升了。

这是用于 Tracebacks 的 pastebinmodels.pyschema.py 用于我的项目。

【问题讨论】:

    标签: python-3.x django django-models graphene-python graphene-django


    【解决方案1】:

    来自django 的开发人员让我将常规构造函数规则也应用于 django 模型!

    这是一个简单的解决我的问题的方法,供以后的任何人使用。

        groupid = kwargs.get('groupid', None)
        gid_extra = {'groupid': groupid} if groupid else {}
        game = Game(name=name, price=price, datereleased=datereleased, 
        description=description, **gid_extra)
        game.save()
    

    【讨论】:

      猜你喜欢
      • 2019-12-08
      • 2018-01-29
      • 2019-01-19
      • 2019-10-09
      • 2018-01-11
      • 2020-09-01
      • 2019-12-20
      • 2021-09-25
      • 2020-09-05
      相关资源
      最近更新 更多