this is a rather basic question (I'm new to Django) i'm having trouble displaying a foreign key in the template. i have this model which has 'employer' as a ManyToManyField in the Job model:
from django.db import models
# Create your models here.
class Employer(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=50,default="")
business = models.CharField(max_length=25, default="")
team = models.IntegerField()
about = models.TextField(max_length=1000)
country = models.CharField(max_length=25, default="")
city = models.CharField(max_length=25, default="")
class Job(models.Model):
date = models.DateTimeField(auto_now_add=True, blank=True)
specialism = models.CharField(max_length=25)
employer = models.ManyToManyField(Employer)
I try to get all jobs that contains "Computers" as specialism:
from django.shortcuts import render
from .models import Job, Employer
# Create your views here.
def index(request):
return render(request, 'pages/index.html')
def post_list(request):
jobs = Job.objects.all().filter(specialism="Computers")
return render(request, 'wall.html',{'jobs':jobs})
And for every job i wanna display the employer name in the template:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<center><h1>WALL</h1></center>
{% block content %}
{{jobs.count}}
{% for job in jobs %}
<h2>specialism :{{job.specialism}} employer: {{job.employer.name}}</h2>
{% endfor %}
{% endblock %}
</body>
</html>
I get None as a value for job.employer.name. so how can i display the name of the employer for every job?