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对象来实现,但它增加了一些复杂性:哦,就像我搜索的一样,谢谢