gpt4 book ai didi

python - 使用 get_or_create 的正确方法?

转载 作者:行者123 更新时间:2023-11-28 19:32:17 29 4
gpt4 key购买 nike

我正在尝试对表单中的某些字段使用 get_or_create,但在尝试这样做时出现 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 :

# 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

解释:要评估相似性的字段必须在 defaults 之外提及。其余字段必须包含在 defaults 中。如果发生 CREATE 事件,所有字段都会被考虑在内。

看起来你需要返回一个元组,而不是单个变量,这样做:

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

关于python - 使用 get_or_create 的正确方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1941212/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com