Django UpdateView没有获取对象的值

时间:2016-12-28 18:16:48

标签: python django templates django-generic-views

我的UpdateView存在一些问题。我已经尝试了很多方法来解决它但失败了。所以你可以帮助我: 当我点击我的Update-btn时,会出现正确的html文件,我可以填写我的专栏。问题是,没有应该存在的值!我想要更新的创建对象不会出现。只有空列。

我的模特:

class Patient(models.Model):
patientID = models.CharField(max_length=200 , default='Enter PatientID')
birth_date = models.DateField(auto_now_add=False, auto_now=False, default='MM/DD/YYYY')
gender = models.CharField(max_length=200,choices=Gender_Choice, default='UNDEFINED')
height = models.IntegerField( default='[cm]')
weight = models.FloatField(default='[kg]')
BMI = models.CharField(max_length=200, default='-')

def get_absolute_url(self):
    return reverse('member:detail', kwargs={'pk':self.pk})

def __str__(self):
    return self.patientID

class PatientCreateForm(ModelForm):
class Meta:
    model = Patient
    fields = ['patientID', 'birth_date', 'gender', 'height', 'weight', 'BMI']

我的观点:

class PatientUpdate(UpdateView):
form_class = PatientCreateForm
model = Patient
template_name_suffix = '_update_form'

我的网址:

    # /member/patient/2/
url(r'patient/(?P<pk>[0-9]+)/$', views.PatientUpdate.as_view(), name='patient-update'),

patient_update_form.html:

&#13;
&#13;
<div class="panel-body">
  <h2>Update patient data</h2>
   <form class="form-horizontal" action="" method="post" enctype="multipart/form-data">
    {% csrf_token %}
    {% include 'member/form-template.html' %}
      <div class="form-group">
      <div class="col-sm-offset-2 col-sm-10">
         <button type="submit" class="btn btn-success" value="Update">Update</button>
      </div>
      </div>
   </form>
</div>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

我认为您希望默认值显示在表单中。

height = models.IntegerField( default='[cm]')
weight = models.FloatField(default='[kg]')
  1. 默认值应为高度的整数
  2. 默认值应为浮动重量
  3. 您正在寻找的是占位符。在表单中,您可以通过覆盖字段的默认小部件来添加占位符:https://docs.djangoproject.com/en/1.10/topics/forms/modelforms/#overriding-the-default-fields