Я использую модель модели Django для обновления данных, и по какой-то причине одно поле не обновляется, а все остальные.Определенное поле в модели модели 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
ModelForm:
class FiveForm(ModelForm):
class Meta:
model = Five
exclude = ['edited']
Вид:
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
, обновляется в базе данных. Не могу понять.
Спасибо за любую помощь.
Вы уверены, что это просто имя? Глядя на код, 'edit' также не нужно обновлять. – karthikr
@petkostas Я это знаю. 'new_five = form.save()' будет __not__ обновлять поле 'edit'. Прочтите код. Это должно быть 'new_five.save()' – karthikr
Другое дело, просто используйте '{{form.as_table | safe}}'. Это автоматически изменило бы форму как таблицу для вас, вместо того, чтобы вручную создавать 'tr' и' td' – karthikr