Django, как я могу показать переменные в другом классе модели?

Я изучаю Django и пытаюсь понять его логику. Есть 2 модели, которые я создал. Я разрабатываю страницу с объявлениями о вакансиях. Первая модель - "Бизнес". Я публикую классы внутри этой модели на моей html-странице и в цикле for. {% job %} {% endfor %}. Но внутри второй модели в этом цикле я хочу показать класс company_logo внутри модели "Company", но у меня ничего не получается. Методы, которые я пытался изучить; 1- Я создал второй цикл внутри цикла job, цикла company, и опубликовать его не удалось. 2- Я присвоил переменную company_list классу Job на странице views и сделал ее равной = Company.objects.all(), но все равно ничего не получилось.

Вот мои коды.

models.py

from django.db import models
from ckeditor.fields import RichTextField
from djmoney.models.fields import MoneyField


JobTypes = (
    ('Full-Time', 'Full-Time'), ('Part-Time', 'Part-Time'), 
    ('Internship', 'Internship'),  ('Temporary', 'Temporary'), ('Government', 'Government')
    )

class Job(models.Model):

    job_title = models.CharField( max_length=100,  null=True)
    job_description = RichTextField()
    job_application_url = models.URLField(unique=True)
    job_type = models.CharField(max_length=15, choices=JobTypes, default='Full-Time')
    #job_category
    job_location = models.CharField( max_length=100)
    job_salary = MoneyField(max_digits=14, decimal_places=4, default_currency='USD')
    created_date = models.DateTimeField(auto_now_add=True)
    featured_listing = models.BooleanField( default=False)

    company = models.ForeignKey(
        "Company", on_delete=models.CASCADE)

    def __str__(self):
        return f"{self.company}: {self.job_title}"
    


class Company(models.Model):
    created_date = models.DateTimeField(auto_now_add=True)
    company_name = models.CharField(max_length=100, unique=True)
    company_url = models.URLField(unique=True)
    company_logo = models.ImageField(
        upload_to='company_logos/')
    
    def __str__(self):
        return f"{self.company_name}"

views.py

from django.utils import timezone
from django.shortcuts import render
from .models import Company, Job

def index(request):
    jobs = Job.objects.all().order_by('-created_date')[:3]
    company_list  = Company.objects.all()
    context = {
        'jobs': jobs,
        'company_list':company_list,
    }
    return render(request, 'index.html', context)

"{% static 'company.company_logo.url' %}" на этой странице этот код не работает. Например, в ближайшие дни я создам модель пользователя и у меня снова возникнет эта проблема при публикации переменной "user.user_name", которая будет примером, на моей html странице. Какова здесь логика? index.html

<div class="container">
    <!-- Recent Jobs -->
    <div class="eleven columns">
    <div class="padding-right">
        <h3 class="margin-bottom-25">Recent Jobs</h3>
        <ul class="job-list">
        {% for job in jobs %}
            <li class="highlighted"><a href="job-page.html">
                <img src="**{% static 'company.company_logo.url' %}**" alt="">
                <div class="job-list-content">
                    <h4>{{ job.job_title }} <span class="full-time">{{ job.job_type }}</span></h4>
                    <div class="job-icons">
                        <span><i class="fa fa-briefcase"></i>{{ job.company }}</span>
                        <span><i class="fa fa-map-marker"></i> {{ job.job_location }}</span>
                        {% if job.job_salary %}
                        <span><i class="fa fa-money"></i> {{job.job_salary}}</span>
                        {% else %}
                        <span><i class="fa fa-money"></i>Salary undisclosed</span>
                        {% endif %}
                    </div>
                </div>
                </a>
                <div class="clearfix"></div>
            </li>
      {% endfor %}
        </ul>

        <a href="browse-jobs.html" class="button centered"><i class="fa fa-plus-circle"></i> Show More Jobs</a>
        <div class="margin-bottom-55"></div>
    </div>
    </div>

urls.py

from django.urls import path 
from . import views 
from django.conf.urls.static import static
from django.conf import settings


urlpatterns = [
    path('', views.index,name="index"),
    #path("jobs/", JobListView.as_view(), name="jobs")
] + s

tatic(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

синтаксис не

{% static 'company.company_logo.url' %} or **{% static 'company.company_logo.url' %}**

используйте это вместо

{{ company.company_logo.url }}

Кроме того, если вы хотите установить отношения между Job и Company, вы можете сделать это так

внутри модели Job добавьте это новое поле

company = models.ForeignKey('Company', on_delete=models.CASCADE)

Чтобы одна компания могла иметь несколько рабочих мест

Затем внутри цикла job for loop в HTML просто добавьте это для отображения company_logo

{% for job in jobs %}

    *..........remaining code..........*

    <img src="{{ job.company.company_logo.url }}" alt="">

    *..........remaining code..........*

{% endfor %}
Вернуться на верх