Django 使用get和request将id user签入两个字段

Django 使用get和request将id user签入两个字段,django,django-models,django-views,Django,Django Models,Django Views,我想在我的视图中创建if validation,以便在到站点之前检查它们是否匹配,但是 如果某人匹配在一起: Models.py class Matched(models.Model): profile_user = models.ForeignKey(Profile, on_delete=models.CASCADE,related_name='profile_user') matched_user = models.ForeignKey(Profile,on_delete

我想在我的
视图中创建
if validation
,以便在到站点之前检查它们是否匹配,但是 如果某人匹配在一起: Models.py

class Matched(models.Model):
     profile_user = models.ForeignKey(Profile, on_delete=models.CASCADE,related_name='profile_user')
     matched_user = models.ForeignKey(Profile,on_delete=models.CASCADE,related_name='matched_user')
模型具有唯一约束

但是我的观点

def profileDetailView(request, pk):
   user = Profile.objects.get(pk=pk)
   if request.user.is_authenticated:
     pass
我的问题是检查
是否
用户
请求。用户
匹配型号
中,我的意思是我可以这样做:
x=Matched.object.filter(profile\u user=user,Matched\u user=request.user.profile)
y=Matched.object.filter(profile\u user=request.user.profile,Matched\u user=user)

如果x或y:通过

但这是一个更为优化的选项吗?

您可以使用它来提高效率,如下所示:

x=Matched.object.filter(profile\u user=user,Matched\u user=request.user.profile).exists()
y=Matched.object.filter(profile\u user=request.user.profile,Matched\u user=user).exists()
如果x或y:
#存在匹配项

关于它,我知道,但我认为不需要创建两个动词就可以了,但如果它足够好的话,那么好吧,你可以使用Q对象来实现,但它增加了一些复杂性:哦,就像我搜索的一样,谢谢