Пытаюсь отредактировать данные, которые сохранены через ModelForm.
Моделька
class Person(models.Model):
class Meta:
db_table = 'person'
author = models.ForeignKey(User, )
first_name = models.CharField( verbose_name="Имя", max_length=150, )
last_name = models.CharField(verbose_name="Фамилия", max_length=150, )
date_of_births = models.DateField( verbose_name="Дата рождения",max_length=10, )
timestamp = models.DateTimeField(verbose_name="Дата создания", auto_now_add=True, )
time_update = models.DateTimeField(verbose_name="Дата обновления",auto_now=True, )
Форма
class PersonForm(forms.ModelForm):
class Meta:
model = Person
fields = ( 'first_name', 'last_name', 'date_of_births', )
Вьюшка, в которой редактирую
def edit_person(request, person_id):
person = get_list_or_404(Person, id=person_id)
if request.method == "POST":
person_form = PersonForm(request.POST, instance=person)
if person_form.is_valid():
person_f = person_form.save(commit=False)
person_f.author = request.user
person_f.save()
messages.success(request, "Запись в базе данных обновлена!")
return redirect('/')
else:
person_form = PersonForm(instance=Person)
context = { 'person_form': person_form,}
return render(request, 'anketa/edit_person.html', context)
Урлы
urlpatterns = [
...
url(r'^(?P<person_id>\d+)/edit/$', a_views.edit_person, name='edit_person'),
...
]
На страницу редактирования попадаю, но вижу следующее:
А если меняю значения в форме на странице и пытаюсь сохранить, то получаю ошибку
AttributeError: 'list' object has no attribute '_meta'
Помогите исправить ошибки.