使用反向关系在 django 模型中获取 n 个项目

Posted

技术标签:

【中文标题】使用反向关系在 django 模型中获取 n 个项目【英文标题】:Get n items in django model using releverse relationship 【发布时间】:2021-12-23 23:01:02 【问题描述】:

有可能得到Django模型中的最后n个项目,使用反向关系。

 % for brand in brands %

     % for product in brand.product_set.all %

     % endfor %

% endfor %

我尝试过这种方式,但它会打印所有内容。但只想要最后 3 项

【问题讨论】:

【参考方案1】:

您可以使用|slice template tag [Django-doc] 对集合进行切片

% for brand in brands %
    % for product in brand.product_set.reverse|slice:":3" %
        …
    % endfor %
% endfor %

【讨论】:

以上是关于使用反向关系在 django 模型中获取 n 个项目的主要内容,如果未能解决你的问题,请参考以下文章

如何在 django 模型中进行 2 层深度反向关系?

Django 反向关系

Django 啥是反向关系?

在反向关系上添加序列化程序 - Django Rest Framework

编写一个 django 查询并在一次数据库中获取反向相关对象!

Django,在管理员中显示和编辑反向外键关系