python - Django modelform 中的某些字段未更新

标签 python django django-forms

我正在使用 Django 模型表单来更新数据,由于某种原因,一个字段没有更新,而所有其他字段都在更新。

型号:

class Five(models.Model):
    name = models.CharField(max_length=100)
    school = models.CharField(max_length=100)
    email = models.CharField(max_length=100)
    first = models.CharField(max_length=100)
    second = models.CharField(max_length=100)
    third = models.CharField(max_length=100)
    fourth = models.CharField(max_length=100)
    fifth = models.CharField(max_length=100)
    edited = models.CharField(max_length=10)
    def __unicode__(self):
        return self.name

模型形式:

class FiveForm(ModelForm):
    class Meta:
        model = Five
        exclude = ['edited']

View :

if (request.method == "POST"):
  form = fiveForm.FiveForm(request.POST)
  edited = 1
if (form.is_valid()):
  new_five = form.save(commit=False)
  new_five.edited = edited
  new_five = form.save()

标记:

<form action="{% url 'choose' %}" method="post">
        {% csrf_token %}
        <p id="formname"></p>
        <table>
            <tr><td>Full Name:</td><td>{{ form.name }}</td></tr>
            <tr><td>Email Address:</td><td>{{ form.email }}</td></tr>
            <tr><td>Your College:</td><td>{{ form.school }}</td></tr>
            <tr><td>Choice 1:</td><td>{{ form.first }}</td></tr>
            <tr><td>Choice 2:</td><td>{{ form.second }}</td></tr>
            <tr><td>Choice 3:</td><td>{{ form.third }}</td></tr>
            <tr><td>Choice 4:</td><td>{{ form.fourth }}</td></tr>
            <tr><td>Choice 5:</td><td>{{ form.fifth }}</td></tr>
        </table>
        <input type="submit" class="btn btn-default btn-lg sub" value="High 5!" />
    </form>

出于某种原因,数据库中除name 之外的所有字段都会更新。想不通。

感谢您的帮助。

最佳答案

修改后需要调用实例new_ Five的save方法。

if form.is_valid():
    new_five = form.save(commit=False)
    new_five.edited = edited
    new_five.save()

目前,您两次调用表单的 save 方法,这不起作用。

关于python - Django modelform 中的某些字段未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21313931/

相关文章:

python - 有没有一种简单的方法可以在 Python 中同时使用 "append()"两个字典?

django - request.META 不包含从curl -H 传递的 header

python - Django - 如何覆盖每个语言环境的默认日期格式?

django - 如何使用 TextInput 小部件获取 Django 外键来显示名称而不是 id?

python - 在Python中执行多线程程序以单线程运行

Python/Boto - 在没有序列 token 的情况下写入 AWS CloudWatch Logs

python - 在Python 3中导入日志模块时如何解决 "No module named ' cStringIO'"

python - django-debug-toolbar-line-profiler 只显示单行输出,没有内容

python - 未调用 CreateView 中的 Django form_valid() 和 form_invalid()

django - 迭代 CheckboxSelectMultiple 中的选择