我知道之前已经问过这个问题,但我已经阅读了答案,但没有一个问题足够。我正在努力建立一个工作委员会网站,雇主可以在那里注册和发布工作。因此,有一个Employer
对象,每个雇主可以根据需要发布尽可能多的Job
个。我不知道如何创建一个可以编辑特定模型实例的表单。
模型Job
:
poster = models.ForeignKey(Employer, on_delete=models.CASCADE)
job_title = models.CharField(max_length=50)
establishment_name = models.CharField(max_length = 50)
details = models.TextField(max_length = 2000)
salary = models.CharField(max_length = 20)
address = models.CharField(max_length = 50)
city = models.CharField(max_length = 50)
state_choices = (
#long list omitted on purpose
)
state = models.CharField(choices=state_choices, 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
我有一份发布职位的表格:
class JobPostForm(ModelForm):
class Meta:
model = Job
fields= ('job_title',
'establishment_name',
'details',
'address',
'city',
'state',
'zip_code',
)
发布职位的观点:
if request.method == 'POST':
form = JobPostForm(request.POST)
if form.is_valid():
job_object = form.save(commit=False)
job_object.poster = request.user.employer
job_object.save()
return redirect('employer_home')
else:
form = JobPostForm()
以及发布职位的模板:
<form method="post" class="">
{% csrf_token %}
{{ form.as_p}}
<button type="submit">Post Job</button>
</form>
但我不确定如何创建可以编辑职位的内容。我见过使用UpdateView()
的示例,但无法使用它。有谁知道如何让这个特定的实例工作?