首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何让get_or_create()保存对象,即使传入的object.attribute不存在

如何让get_or_create()保存对象,即使传入的object.attribute不存在
EN

Stack Overflow用户
提问于 2019-04-17 15:54:46
回答 1查看 165关注 0票数 0

我有一个函数:

代码语言:javascript
运行
复制
podcast_instance = Show.objects.get_or_create(title=parsed_podcast.title
                                            day_published=parsed_podcast.day_published     )

它从一个传入的对象(parsed_podcast)中获取数据。它有大量的属性,根据播客的不同,一些属性存在,一些属性不存在。我有很多数据源被传递给'Podcast‘对象,所以我想让我的函数保存可用的数据,如果没有可用的,或者'parsed_podcast object没有属性x’,那么只需将' nothing‘保存到该属性中并继续。model Show允许这些属性没有值。

但是,get_or_create只是抛出一个AttributeError并停止,如果我将它放在一个Try块中,并以这种方式打印错误:

代码语言:javascript
运行
复制
try:
        podcast_instance = Show.objects.get_or_create(title=parsed_podcast.title)

except AttributeError:
     Exception

它仍然不保存数据。如何创建一个对象并只保存可用的内容?

EN

Stack Overflow用户

发布于 2019-04-17 20:55:39

AttributeError是因为您访问的是由get_or_create返回的元组,而不是对象。

使用:

代码语言:javascript
运行
复制
podcast_instance, created = Show.objects.get_or_create(title=parsed_podcast.title
                  day_published=parsed_podcast.day_published)

你就可以走了。docs

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55722598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档