Python 3.x Django python中if、elif和Else语句的使用技巧

Python 3.x Django python中if、elif和Else语句的使用技巧,python-3.x,django,django-models,django-views,Python 3.x,Django,Django Models,Django Views,让我从我的代码开始,以便更好地理解 模型 Items(models.Model): first_frame = models.ManyToManyField(settings.AUTH_USER_MODEL,blank=True, default=None,related_name='frame_one') second_frame = models.ManyToManyField(settings.AUTH_USER_MODEL,blank=True, default=None,related

让我从我的代码开始,以便更好地理解

模型

Items(models.Model):
first_frame = models.ManyToManyField(settings.AUTH_USER_MODEL,blank=True, default=None,related_name='frame_one')
second_frame = models.ManyToManyField(settings.AUTH_USER_MODEL,blank=True, default=None,related_name='frame_two')
看法

如果你看一下我的视图,你就会明白我有一个If语句,如果用户存在,第一个框架应该被删除,否则,你可以添加框架。但是我的模型中有另一个框架,就像我的第一个框架,叫做第二个框架。我想让确切的功能,但似乎elif不是正确的编码。 提前谢谢你的帮助

def choose_frame(request):
    frame = get_object_or_404(Item, id=request.POST.get('frame_id'))
    is_frame_one=False
    is_frame_two=False
    if frame.first_frame.filter(id=request.user.id).exists():
        frame.first_frame.remove(request.user)
        is_frame_one=False
    else:
        frame.first_frame.add(request.user)
        is_frame_one=True

    elif frame.second_frame.filter(id=request.user.id).exists():
        frame.second_frame.remove(request.user)
        is_frame_two=False
    else:
        post.first_frame.add(request.user)
        is_frame_two=True
    if request.is_ajax():
        context={'frame':post, 'is_frame_one':is_frame_one}
        html=render_to_string('business/frame.html', context, request=request)
        return JsonResponse({'form':html})