【问题标题】:Django UpdateView doesn't get the values of the objectDjango UpdateView 没有得到对象的值
【发布时间】:2017-05-13 01:29:39
【问题描述】:

我的 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:

<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>

【问题讨论】:

    标签: python django templates django-generic-views


    【解决方案1】:

    我想您希望默认值出现在您的表单中。

    height = models.IntegerField( default='[cm]')
    weight = models.FloatField(default='[kg]')
    
    1. 默认应该是高度的整数
    2. 默认应该是重量的浮点数

    您正在寻找的是占位符。在您的表单中,您可以通过覆盖字段的默认小部件来添加占位符:https://docs.djangoproject.com/en/1.10/topics/forms/modelforms/#overriding-the-default-fields

    【讨论】:

    • 不,抱歉,这不是我想要的。这是一个我还没有解决的问题。现在我已经完成了,谢谢,但我的主要问题是关于我的 UpdateView。
    • 你能重新格式化你原来的帖子吗?有些部分我不明白。它是您拥有 HTML 的表单形式吗?
    • 不,我认为看看我如何将 UpdateView 包含在我的一个模板中并将其与 btn 连接会很有帮助。现在只有我的 update_form 模板
    • 另一个问题: member/form-template.html 里面有什么?有关系吗?
    • 不,这只是我定义错误消息的模板
    猜你喜欢
    • 2017-10-30
    • 2021-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-19
    • 2023-03-16
    • 2018-07-10
    相关资源
    最近更新 更多