模型中有两个类 - 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/