如果pythonDjango中没有其他两个类中的对象,那么如何在pythonDjango中创建一个新对象?

2024-03-28 18:33:18 发布

您现在位置:Python中文网/ 问答频道 /正文

模型中有两个类—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']
            ) 

提前谢谢, 雷努。你知道吗


Tags: and模型eventidobjtaskgetobjects
1条回答
网友
1楼 · 发布于 2024-03-28 18:33:18

您可以尝试使用QuerySet的^{}函数。如果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

相关问题 更多 >