gpt4 book ai didi

python - 如果在其他两个类中不存在,如何在 Python Django 中创建一个新对象?

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

模型中有两个类 - Task 和 TaskArchives。如果 Task 和 TaskArchives 中都不存在,我需要创建一个新任务。我已经尝试使用 and 子句检查 DoesNotExist 异常。但它不起作用。有人可以建议不同的方法吗??

for event in events:
try:
obj = Task.objects.get(task_id = event['id'])
obj_archive = TaskArchive.objects.get(task_id = event['id'])

except Task.DoesNotExist and TaskArchive.DoesNotExist:
obj = Task.objects.create(
task_id = event['id'],
title = event['summary'],
created_by = User.objects.get(email=event['creator']['email']),
status = "upcoming",
due_date = event['start']['dateTime']
)

提前致谢,瑞努。

最佳答案

您可以尝试使用 QuerySet 的 exists()功能。如果 QuerySet 包含任何结果,它返回 True,否则返回 False

所以,对于上面的例子,我会写:

if not Task.objects.filter(task_id = event['id']).exists() and
not TaskArchive.objects.filter(task_id = event['id']).exists:
# no object satisfying query exists
else:
# at least one object satisfying query exists

关于python - 如果在其他两个类中不存在,如何在 Python Django 中创建一个新对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35738799/

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