Django 外键多对一关系显示在模板上

2024-04-27

我正在尝试显示与公司(多对一)相关的工作机会,但我无法做到这一点。我已经尝试了很多循环,但我什至没有得到查询集,所以我一定做错了,但无法解决我做错的事情。

My files

模型.py

class Company(models.Model):
    # field person with relation many to one (many persons to 1 company)
    team = models.ManyToManyField('Person')
    name = models.CharField(max_length=100, blank=False)
    ...

class Job(models.Model):
    name = models.CharField(max_length=40, blank=False)
    level = models.CharField(max_length=10, blank=False, choices=LEVELS)
    company = models.ForeignKey('Company', on_delete=models.CASCADE, default=None, blank=False)
    emp_type = models.ManyToManyField('Emp_type', blank=False)
    ...

    def __str__(self):
        return self.name

comp_list.html

            <div class="company-logo-container">
    <img class="company-logo" src="{{ brand.logo.url }}">
</div>
    <ul class="list-group">
       <li class="list-group-item">
          <a class="nav-link" href="#team">Team</a>
       </li>
       <li class="list-group-item">
          <a class="nav-link" href="#social_media">Social Media</a>
       </li>
       <li class="list-group-item">
          <a class="nav-link" href="#offers">Job Offers</a>
       </li>
       {% for job in jobs %}
       {% for company in job.company.all %}

        {{ job.name }}

        {% endfor %}
        {% endfor %}

    </ul>

views.py

def brands(request, slug):
    brand = get_object_or_404(Company, slug=slug)
    return render(request, 'company/comp_view.html', {'brand': brand})

def jobs(request, slug):
    job = get_object_or_404(Job, slug=slug)
    return render(request, 'company/job_view.html', {'job': job})

我创建了一些工作机会并将其分配给 1 家公司,但我无法将它们放入公司视图中,因此看起来循环是错误的,但我尝试了很多循环但没有结果


考虑到您正在传递公司对象brands查看到comp_view.html as brand模板:

{% for job in brand.job_set.all %}
    {{ job.name }}
{% endfor %}

只需找到一家公司的工作岗位,然后循环浏览它们即可。

如果您愿意,您还可以查看相关职位:

def brands(request, slug):
    brand = get_object_or_404(Company, slug=slug)
    jobs = brand.job_set.all()
    return render(request, 'company/comp_view.html', {'brand': brand, 'jobs': jobs})

进而:

{% for job in jobs %}
    {{ job.name }}
{% endfor %}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django 外键多对一关系显示在模板上 的相关文章

随机推荐

  • LongListSelector 内的缓慢故事板动画

    我有一个 LongListSelector 其中填充了一些项目 每个项目都有一个子菜单 可以使用滑动动画显示或折叠该子菜单 问题是动画非常慢 具体取决于您在列表中点击的项目 开始和结束的时候很慢 中间很顺利 我怀疑每个动画帧都会使长列表选择
  • 将行添加到文件开头

    我可以使用单独的文件来执行此操作 但如何在文件的开头附加一行 f open log txt a f seek 0 get to the first position f write text f close 由于文件是以附加模式打开的 因此
  • cmake 在执行其他操作之前执行进程

    我在执行其他操作之前 CMake 执行进程时遇到问题 下面的代码片段显示了这种情况 if NOT EXISTS CMAKE CURRENT BINARY DIR generated file MAKE DIRECTORY CMAKE CUR
  • a 是什么意思? (点)在 PHP 中做什么?

    以下命令在 PHP 中执行什么操作 string string is something which I declared in the program 就其本身而言 它根本没有任何作用 它不是有效的语法 但是 如果你有这样的事情 你会看见
  • 如何通过命令行缩小/扩大 aws ecs 集群中的容器,我应该使用 aws cli 还是 ecs-cli?

    我正在使用 EC2 实例运行 AWS ECS 集群 我想要一个命令将任务扩展到 1 个正在运行的实例 然后在一段时间后 当我不需要它时 我想将其缩小到 0 这应该会破坏底层 EC2实例以避免收费 我没有使用 Fargate 因为它不属于免费
  • XML布局在android studio中不换行

    在我更新 android studio 后 布局编辑器中的 XML 格式被破坏了 最初 每个属性都位于单独的行上 然而现在有两个或三个属性占据一条线 我进入 设置 gt 编辑器 gt 代码样式 gt XML 在 布局文件 区域下 将 换行属
  • 旋转 UISplitViewController 后模态消失

    我有一个奇怪的问题 UISplitViewController 我的主视图控制器中有一个按钮 点击时会打开一个模式视图 使用简单的故事板转场 但是 当我旋转 iPad 时 模式视图会消失 但仅限于从纵向旋转到横向时 我的主视图控制器以纵向隐
  • Intellij Idea 中 Dockerfile 部署失败(未连接到 docker)

    我是 Docker 新手 只是想按照此中的说明进行操作 我创建了非常简单的 Dockerfile 但部署失败 问题是没有太多信息 Docker 已启动并正在运行 我可以从 IDE 连接到它 码头工人信息 如果您最近更改了 Docker De
  • DbContext.Entry 附加实体

    从我的研究中 我了解到调用 DbContext Entry someEntity 会自动将实体附加到上下文 然而 当我这样做时 我发现实体的状态是分离的 任何人都可以阐明这一点以及 DbContext Entry 的工作原理吗 我正在使用
  • 如何纠正 Rails 控制台命令的错误?

    当我位于 Rails 应用程序的根目录中时 我可以成功执行rails server 但是当我尝试做时rails console or rails c我收到以下错误 myrailsapp master rails c Users myuser
  • 如何从 ActionBar 中删除顶部边框阴影

    我正在开发一个新的 Android 应用程序 由于某种原因 这个新应用程序 我自己没有添加额外的代码 在操作栏上有一个顶部边框阴影 好像是我使用 Android Studio 创建新项目时默认添加的 我怎样才能有一个只有底部阴影的普通操作栏
  • 使用 Javascript(或任何客户端)绘制方程

    有没有可以用来绘制数学方程的库 最好使用 javascript 我也可以使用 Java 或者任何客户端 你看过 弗洛特 吗 http code google com p flot http code google com p flot
  • 如何在 Bluez/Linux 上从 GATT 服务器获取断开连接事件

    环境 Bluez 5 14 Linux 3 1 USB 可插拔 BLE 无线电 TI BLE 密钥卡 CC2541 开发套件 Linux 设备 USB BLE 无线电 我们使用 gatttool 启用 TI 密钥卡上的按键事件并开始监听事件
  • 如何在应用样式器功能后删除列

    应用样式器后如何删除列 这是我的样式函数 def highlight late x c1 background color red condition m x price 1 lt x price main x m2 x price 2 l
  • Android 错误:二进制 XML 文件第 16 行:添加地图片段时膨胀类片段时出错

    我正在尝试使用地图 api v2 显示地图 这是我的 xml 代码
  • d3 转换改变了哪些属性?

    我试图了解 d3 中到底发生了什么转换 例如 var bars svg selectAll null data my values enter append rect statement before transition attr x 1
  • 什么是 lub(null, Double)?

    表15 25 B http docs oracle com javase specs jls se8 html jls 15 html jls 15 25在 JLS 版本 8 中表示条件表达式的类型 true null 0 0 is lub
  • 由于 poms 中的版本发生更改,合并来自 Maven 发布分支的更改会产生冲突

    按照标准实践 我有一个用于功能开发的 svn 主干 以及一个用于构建版本的分叉分支 该分支是使用 maven 发布插件创建的 该插件也用于创建发布 碰巧的是 偶尔的错误将在分支上修复 并且这些更改需要合并回主干 为了不错过任何更改 我希望能
  • SwiftUI 列表内存问题,图像未从 RAM 中释放导致崩溃

    我正在将图像加载到 SwiftUI 列表中 当向下滚动太多图像时 RAM 会飙升并导致应用程序崩溃 为什么当用户向下滚动经过图像时图像不会被释放 我正在加载图像 如下所示 List allProducts id self product i
  • Django 外键多对一关系显示在模板上

    我正在尝试显示与公司 多对一 相关的工作机会 但我无法做到这一点 我已经尝试了很多循环 但我什至没有得到查询集 所以我一定做错了 但无法解决我做错的事情 My files 模型 py class Company models Model f