모든 작업이 목록에 표시되고 각 작업이 작업에 대한 자세한 정보가 표시된 페이지로 연결되는 링크 인 작업 게시판 사이트를 만들고 있습니다.외래 키 개체에 고유 한 id 값이 있습니까?
from django.db import models
from django.contrib.auth.models import User
from django.db.models.signals import post_save
from django.dispatch import receiver
# Create your models here.
class Employer(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
def __str__(self):
return self.user.first_name
@receiver(post_save, sender=User)
def create_employer(sender, instance, created, **kwargs):
if created:
Employer.objects.create(user=instance)
@receiver(post_save, sender=User)
def save_employer(sender, instance, **kwargs):
instance.employer.save()
class Job(models.Model):
poster = models.ForeignKey(Employer, on_delete=models.CASCADE)
job_title = models.CharField(max_length=50)
establishment_name = models.CharField(max_length = 50)
address = models.CharField(max_length = 50)
state = models.CharField(max_length = 20)
zip_code = models.CharField(max_length = 10)
def __str__(self):
return self.job_title + " - " + self.establishment_name \
+ ", " + self.poster.user.first_name + " " +self.poster.user.last_name
Views.py :
def index(request):
jobs = Job.objects.all
return render(request, 'core/index.html', {'jobs' :jobs })
된 index.html에서 사용할 수있는 작업이 너무로 나열됩니다 :
<table>
<tbody>
{% for job in jobs %}
<tr>
<td><a href="#">{{ job.job_title}} - {{ job.establishment_name }}</a></td>
</tr>
{% endfor %}
</tbody>
</table>
내가 원하는
나는 다음과 같은 모델을 가지고
이들은 클릭 할 수있는 링크가되어 사용자가 작업에 대한 세부 정보를 제공하는 다른 페이지로 이동하게됩니다. 이게 가능하도록하기 위해Job
개체에 대해 id 값의 일종이 필요하다고 생각하고 있지만 틀릴 수도 있습니다. 누구든지이 일을하는 법을 알고 있습니까? 참고 : 이전에 사용자 ID와 비슷한 것을 수행했습니다 :
url(r'^claim/(?P<user_id>[0-9]+)/$', views.ClaimView.as_view(), name = "claim"),
,하지만
Job
개체를 사용하면 어떻게됩니까?
매우 통찰력, 감사합니다! –