Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从django模板中的相关模型中获取单个对象_Python_Django - Fatal编程技术网

Python 如何从django模板中的相关模型中获取单个对象

Python 如何从django模板中的相关模型中获取单个对象,python,django,Python,Django,我有两个模型(项目和相册)。 相册具有指向该项的外键 像这样 class Item(models.Model): name = models.CharField(max_length=50) price = models.IntegerField() 及 在我的模板中 {% for item in item_tags %} <div class="item-dock">

我有两个模型(项目和相册)。 相册具有指向该项的外键 像这样

class Item(models.Model):
    name = models.CharField(max_length=50)
    price = models.IntegerField()

在我的模板中

             {% for item in item_tags %}        
                    <div class="item-dock">
                        <a href="{{item.name}}">
                            <img src="{{item.album_set.photo.filter(default=True)}}" class="img-responsive">
                            <p class="item-name text-center">{{item.name|capfirst}}</p>
                        </a>
{item_tags%}
现在真正的问题是。假设对相关模型的查询总是返回queryset。如何从相册模型中为模板中的项目检索单个对象(在本例中,是来自此查询集中的单个照片,其中“default=True”)

我了解queryset和相关经理


如果您有任何帮助和建议,我们将不胜感激

只要查询第一个元素就可以了

# something like this in your template
{% item.album_set.first.photo %}

您可以为此使用自定义模板筛选器: 有关创建和使用自定义模板标记和过滤器的详细信息,请参见:

您可以在模板中使用它,如下所示:

{{ item.album_set|default_image }}

请记住,在使用过滤器之前,您需要{%load your_custom_template_tags%}谢谢。这工作!我需要深入研究医生
from django import template

register = template.Library()


def default_image(queryset):
    return queryset.get(default=True).photo.url

register.filter('default_image', default_image)
{{ item.album_set|default_image }}