繁体   English   中英

如何使用 django 查询集编写条件

[英]How to write a condition use django queryset

我向用户写了一个 if else 语句,但它不起作用。 我使用Post.objects.get(sno = delpk)获取数据表单数据库。 然后我写一个条件request.user.username == Post.author

def postdelapi(request):
 if request.method == 'POST':
    delpk = request.POST['delpk']
    deletepost = Post.objects.get(sno = delpk)
    print(Post.author)
    if request.user.username == Post.author :
        deletepost.delete()
    else:
        HttpResponse('eroor')
 else:
    pass
 return redirect('home')

您需要将request.user.usernamePost的 object 进行比较,即deletepost

if request.user.username == deletepost.author.username :
    deletepost.delete()

Post.author很可能是User model (检查您的 models.py 以确认)因此应与等效的User model 进行比较,即request.user而不是request.user.username

if request.user == Post.author :
        deletepost.delete()

在用户更改用户名和/或具有重复用户名的情况下,最好比较User实例而不是用户名。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM