gpt4 book ai didi

python - 从模板中的相关对象获取有限的随机项目?

转载 作者:太空宇宙 更新时间:2023-11-04 10:50:52 25 4
gpt4 key购买 nike

我有一个 Author 模型,每本书都分配了很多书。在我的 Books 模型中,我有:author = models.ForeignKey(Author)

在我的页面中,我列出了我拥有的所有作者,并且在每个作者下我想显示 5 本书。

这是仅通过模板可行还是我认为必须这样做? 我的意思是限制结果并随机获取它们。

我目前只将作者传递给模板,如下所示:a = Author.objects.all()

请指教。

最佳答案

你有两个选择:

  1. 在你看来做:

    此查询是“为作者 a 随机返回 5 本书”

    random_books = Book.objects.filter(author=a).order_by('?')[:5]
  2. 创建 custom tag需要一位作者并随机返回 5 本书:

    创建自定义标签:

    from myapp.models import Book

    def randbooks(author):
    return {'books': Book.objects.filter(author=author).order_by('?')[:5]}

    register.inclusion_tag('book_listing.html')(randbooks)

    创建一个模板来显示标题 (book_listing.html):

    <ul>
    {% for book in books %}
    <li>{{ book }}</li>
    {% endfor %}
    </ul>

    像这样在你的模板中使用它:

    {% for author in a %}
    {% randbooks author %}
    {% endfor %}

关于python - 从模板中的相关对象获取有限的随机项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14028666/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com