私はジョブボードサイトを作成しています。ここではすべてのジョブがリストに表示され、それぞれがジョブに関する詳細情報を表示するページにつながるリンクです。外部キーオブジェクトに固有の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:index.htmlをオン
def index(request):
jobs = Job.objects.all
return render(request, 'core/index.html', {'jobs' :jobs })
、利用できるジョブがように記載されています:
<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
オブジェクトでどうすればいいですか?
非常に洞察力、ありがとう! –