如何使用视图进入模板从Django一对多字段模型获取数据

费萨尔·纳齐克

我想显示1个带有关联子项的父字段,然后再显示子项

我有一个模特

class GrandParent(models.Model):
    name= models.CharField(max_length=50)
    ....

class Parent(models.Model):

    parent = models.ForeignKey(GrandParent, on_delete=models.CASCADE)
    name= models.CharField(max_length=50)
    ....

class Child(models.Models):
    parent = models.ForeignKey(Parent, on_delete=models.CASCADE)
    name= models.CharField(max_length=50)
    ...

我可以从“父级父对象”渲染对象,但无法在模板中进一步链接“父类”对象和“子类”对象

我在views.py中使用的这种方法

def list(request):
    object_list = GrandParent.published.all()
    ...
    return render('app/list.html')

def detail(request, post,):

    post = get_object_or_404(GrandParent, slug=post,
                        status='published')
                               
    return render(request, 'app/detail.html',
                            {'post' : post,
                            ...
                            
                            })

现在,如何在同一详细信息视图中链接其他类,但使用外键在此处与父类相关联。我正在关注Django文档,但他们仅使用python shell给出了最多2个示例,而我只混淆了一个子类。如何在此结构中实现。或者任何人已经使用这种类型的模型专门开发了任何项目,因此请共享任何回购链接或其他内容,将是很棒的。

#list.html {%扩展了“ _base.html”%}

{% block title %} mysite{% endblock %}
{% block content %}


    <h2>Content </h2>

    
    <ul>
        {% for post in object_list %}
        <a href="{{ post.get_absolute_url }}">
            <li>{{ post.name}}</li></a>
                
        {% endfor %}
    </ul>
{% endblock %}

#detail.html

{% extends "_base.html" %}



{% block title %} freeStreams {% endblock %}
{% block content %}

<div class="card-body">
    <h1 class="card-title">{{ post.title }}</h1>

</div>
    
{% endblock %}
Ngoc Pham

您可以通过for循环访问所有子视图视图模板中的一个到多个。您的情况下,使用GrandParentby post.parent_set.all()对于Child通过parent.child_set.all()您可以先在终端中尝试检查您是否具有正确的数据库和关系。

将其添加到块中 content

detail.html

        {% for parent in post.parent_set.all() %}
                <h1 class="card-title">{{ parent.name }}</h1>
                {% for child in parent.child_set.all() %}
                   <h2 class="card-title">{{ child.name }}</h2>
                    
                {% endfor %}    
        {% endfor %}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从Django多对多字段获取数据?

来自分类Dev

如何从Django多对多字段获取数据?

来自分类Dev

如何获取Django模型的多对多字段总数?

来自分类Dev

Django一对多字段,无需反转依赖关系

来自分类Dev

Django一对多字段,无需反转依赖关系

来自分类Dev

如何从Django API视图中的模型获取字段

来自分类Dev

视图如何使用视图模型和Network API获取数据

来自分类Dev

如何使用Django查询从一对多关系中获取数据

来自分类Dev

休眠@Subselect一对多字段

来自分类Dev

如何从Django模型和HTML模板中获取数据

来自分类Dev

Django视图模板无法显示模型数据

来自分类Dev

如何使用Django Rest框架在模板中获取模型选择字段名称而不是ID

来自分类Dev

如何在Flask视图中使用多对多字段?

来自分类Dev

在 Django 中,如何使用基于函数的视图中的另一个模型数据

来自分类Dev

通过Django代码将值分配给一对多字段

来自分类Dev

通过Django代码将值分配给一对多字段

来自分类Dev

Django 模型计算字段从一对多的关系

来自分类Dev

如何使用Django模板以及从ManyToMany字段获取家谱?

来自分类Dev

模板中的Django多对多字段并通过

来自分类Dev

Django模型中的多字段分配

来自分类Dev

Django模型扩展默认用户模型(一对一字段),如何为所有组合的模型字段创建reg表单

来自分类Dev

Django Admin上的多对多字段视图

来自分类Dev

如何从与一对一字段相关的两个模型中获取所有对象的列表

来自分类Dev

使用视图从模型类中获取所有数据到模板上

来自分类Dev

Django基于类的视图:如何使用用户名而不是ID从扩展模型中获取数据

来自分类Dev

如何在Django的一页上具有2个模型/视图/模板?

来自分类Dev

一对多字段不会在JPA中更新

来自分类Dev

获取多对多字段相关数据

来自分类Dev

Django中两个模型(字段)与当前模型的一对一关系

Related 相关文章

  1. 1

    如何从Django多对多字段获取数据?

  2. 2

    如何从Django多对多字段获取数据?

  3. 3

    如何获取Django模型的多对多字段总数?

  4. 4

    Django一对多字段,无需反转依赖关系

  5. 5

    Django一对多字段,无需反转依赖关系

  6. 6

    如何从Django API视图中的模型获取字段

  7. 7

    视图如何使用视图模型和Network API获取数据

  8. 8

    如何使用Django查询从一对多关系中获取数据

  9. 9

    休眠@Subselect一对多字段

  10. 10

    如何从Django模型和HTML模板中获取数据

  11. 11

    Django视图模板无法显示模型数据

  12. 12

    如何使用Django Rest框架在模板中获取模型选择字段名称而不是ID

  13. 13

    如何在Flask视图中使用多对多字段?

  14. 14

    在 Django 中,如何使用基于函数的视图中的另一个模型数据

  15. 15

    通过Django代码将值分配给一对多字段

  16. 16

    通过Django代码将值分配给一对多字段

  17. 17

    Django 模型计算字段从一对多的关系

  18. 18

    如何使用Django模板以及从ManyToMany字段获取家谱?

  19. 19

    模板中的Django多对多字段并通过

  20. 20

    Django模型中的多字段分配

  21. 21

    Django模型扩展默认用户模型(一对一字段),如何为所有组合的模型字段创建reg表单

  22. 22

    Django Admin上的多对多字段视图

  23. 23

    如何从与一对一字段相关的两个模型中获取所有对象的列表

  24. 24

    使用视图从模型类中获取所有数据到模板上

  25. 25

    Django基于类的视图:如何使用用户名而不是ID从扩展模型中获取数据

  26. 26

    如何在Django的一页上具有2个模型/视图/模板?

  27. 27

    一对多字段不会在JPA中更新

  28. 28

    获取多对多字段相关数据

  29. 29

    Django中两个模型(字段)与当前模型的一对一关系

热门标签

归档