Здравствуйте.Есть моделька с уникальным полем link:
class BookMark(models.Model):
category = models.ForeignKey(BookMarkCategory, verbose_name=('Category'))
description = models.TextField(_('Description'), blank=True)
link = models.CharField(_('Link'), unique=True, max_length=150) # вот это поле
priority = models.IntegerField(_('Priority'))
looked_through = models.BooleanField(_('Looked trough'))
publick = models.BooleanField(_('Public'))
При редактировании этой модели на страничке, не получается её обновить(сохранить). Валидация формы выдает ошибку, что такое поле уже существует "Book mark with this Link already exists".В функции представление сделал по документации:
def edit_bookmark(request, id):
bookmark_obj = BookMark.objects.get(pk=id)
if request.POST:
form = BookMarkForm(request.POST, instance=bookmark_obj) # вот вставил экземпляр
if form.is_valid(): # а обновлять не желает
form.save()
return redirect('show_bookmarks_list')
else:
form = BookMarkForm()
form.initial = bookmark_obj.get_fields_dict()
return render(request, 'mybookmark/create_bookmark.html', dict(form=form))
Неужели метод form.save() не умеет обновлять уникальные поля?
Updated 15 Dec. 2012, 21:06 by buddha.