UpdateView创建新对象,而不是更改原始对象

时间:2020-03-01 18:29:35

标签: django django-views

首先,我知道有人问过这个问题,但我仔细查看了这些答案,但并不是所有的解决方案。

views.py:

class JobUpdateView(UpdateView):
    model = Job
    form_class = JobForm
    template_name = 'job/edit_job.html'

urls.py:

path('edit/<int:pk>/', job_views.JobUpdateView.as_view(), name='edit_job'),

模板(包括<form>,我用来删除对象的目的是为了防患于未然):

    {% for job in jobs  %}
          <button ><a href="{% url 'edit_job' job.id %}" >Edit</a></button>  <!-- edit-->
          <form class="" action="{% url 'delete_job' pk=job.id %}" method="post"> <!--delete-->
            {% csrf_token %}
            <input type ='hidden' name ='job_id' value='{{ job.id }}'/>
            <button type="submit">Delete</button>
          </form>
        </div>
   {% endfor %}

这将显示用户的帖子列表,如果用户单击特定帖子上的“编辑”,它将以要编辑的形式显示适当的对象及其内容。但是,当用户保存该表单时,现在不用编辑原始对象,而是有两个对象,即原始对象和任何已更改的对象。不确定为什么会这样吗?

0 个答案:

没有答案