正确的方式使用GET_或_CREATE?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (24)

我试着用GET_或_在表单中创建一些字段,但是当我尝试这样做时,我会得到一个500错误。

customer.source = Source.objects.get_or_create(name="Website")

对于上述代码,我得到的错误是:

Cannot assign "(<Source: Website>, False)": "Customer.source" 
   must be a "Source" instance.
提问于
用户回答回答于
# get_or_create() a person with similar first names.
>>> p, created = Person.objects.get_or_create(first_name='John', last_name='Lennon', defaults={'birthday': date(1940, 10, 9)})

# get_or_create() didn't have to create an object.
>>> created
False

看起来,需要返回到元组中,而不是单个变量,如下所示:

customer.source,created = Source.objects.get_or_create(name="Website")
用户回答回答于

get_or_create返回元组。

customer.source, created = Source.objects.get_or_create(name="Website")

所属标签

可能回答问题的人

  • 红双喜经典VS中华

    1 粉丝0 提问8 回答
  • 杰西

    5 粉丝1 提问4 回答
  • 浮生长恨欢娱少

    个人站长 · 站长 (已认证)

    51 粉丝2 提问4 回答
  • 滑稽园扛把子

    Swoole Inc · PHP工程师 (已认证)

    135 粉丝0 提问4 回答

扫码关注云+社区