用于编辑模型

时间:2017-10-27 18:06:58

标签: django django-models django-forms django-templates

我知道之前已经问过这个问题,但我已经阅读了答案,但没有一个问题足够。我正在努力建立一个工作委员会网站,雇主可以在那里注册和发布工作。因此,有一个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()的示例,但无法使用它。有谁知道如何让这个特定的实例工作?

1 个答案:

答案 0 :(得分:0)

UpdateWiew

numpy.linalg.norm()