Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Редактирование записи в таблице с уникальным полем [RSS Feed]

#1 Фев. 2, 2010 21:08:46

svas
От:
Зарегистрирован: 2010-01-27
Сообщения: 239
Репутация: +  9  -
Профиль   Отправить e-mail  

Редактирование записи в таблице с уникальным полем

Есть модель, с уникальным полем. Создаю форму для модели, наследуется форма от ModelForm. При редактирования других атрибутов (не уникальных) и попытке сохранения, form.is_valid() возвращает False и вылазит ошибка “Запись в таблице с таким полем уже существует”. Пробовал переписать метод проверки поля, все равно та же самая ошибка. Что делать?



Офлайн

#2 Фев. 2, 2010 21:22:03

svas
От:
Зарегистрирован: 2010-01-27
Сообщения: 239
Репутация: +  9  -
Профиль   Отправить e-mail  

Редактирование записи в таблице с уникальным полем

Спасибо разобрался. Если кому интересно http://www.djangosnippets.org/snippets/1228/



Офлайн

#3 Фев. 2, 2010 21:25:14

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Редактирование записи в таблице с уникальным полем

Код в студию.

Офлайн

#4 Фев. 3, 2010 23:11:51

svas
От:
Зарегистрирован: 2010-01-27
Сообщения: 239
Репутация: +  9  -
Профиль   Отправить e-mail  

Редактирование записи в таблице с уникальным полем

class MyModel(models.Model):
email = models.EmailField(unique=True)

class MyModelForm(forms.ModelForm):
class Meta:
model = MyModel

def my_model_view(request, model_id):
obj = get_object_or_404(MyModel, pk=model_id)
if request.method == 'POST':
form = MyModelForm(request.POST, instance=obj)
if form.is_valid():
obj = form.save()
else:
form = MyModelForm(instance=obj)
render_to_response(
'my_model_template.html', {'form': form},
context_instance=RequestContext(request)
)



Офлайн

  • Начало
  • » Django
  • » Редактирование записи в таблице с уникальным полем[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version