Django 模板如果选择字段

我目前正在尝试弄清楚如何检查状态是否适用于用户请求。


模型.py


class CategoryRequests(models.Model):

    author = models.ForeignKey(User, on_delete=models.CASCADE)

    status = StatusField()

    STATUS = Choices('Waiting', 'Rejected', 'Accepted')

视图.py


def view_profile_categoy_requests_accepted(request, pk=None):

    if pk:

        user = get_user_model.objects.get(pk=pk)

    else:

        user = request.user

    args = {'user': user}

    return render(request, 'myproject/category_request_accepted.html', args)

但是在模板上这似乎是错误的。


模板.html


{% if user.categoryrequests.status == 'Waiting' %}

提前致谢


饮歌长啸
浏览 198回答 2
2回答

一只名叫tom的猫

问题来了—— user.categoryrequests。如果您没有related_name在外键字段上设置 a ,则无法进行这样的反向查找。你有两个选择:1.用于user.categoryrequests_set从用户获取反向外键。2.或者,related_name在外键上设置 a categoryrequests,然后您可以按照当前的方式进行反向查找。请参阅有关执行反向查找的文档。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python