Это мой forms.py фрагментDjango модели Form - Невозможно обновить таблицу с внешним ключом
class ContactForm(forms.ModelForm):
class Meta:
model = Contact
exclude = ('user',)
Это мой views.py фрагмент
def contact(request, template_name):
if request.method == "POST":
form = ContactForm(request.POST)
if form.is_valid():
obj = form.save(commit=False)
obj.user = request.user
obj.save()
return HttpResponseRedirect('/newuser/step2/')
else:
if (Contact.objects.filter(user=request.user)):
contact_obj = Contact.objects.get(user_id=request.user.id)
form = ContactForm(instance = contact_obj)
else:
form = ContactForm()
return render_to_response(template_name, RequestContext(request, {'form' : form}))
Когда я заполнить данные для первого время для зарегистрированного пользователя, данные успешно попадают в таблицу. Когда я снова посетить форму, данные из базы данных загружается, но когда вновь представить, ниже ошибки приходят
Exception Type: IntegrityError
Exception Value: (1062, "Duplicate entry '3' for key 'user_id'")
Exception Location: /usr/lib/python2.7/dist-packages/MySQLdb/connections.py in defaulterrorhandler, line 36
Мой контакт таблица автоматически генерируемый «ID», поле в качестве первичного ключа, в то время как «user_id» является поле внешнего ключа. «3» - это «user_id» для зарегистрированного пользователя.
Я пытаюсь сделать очень простую вещь, сохранить некоторые данные для пользователя в таблице и связать ее. Есть ли лучший способ сделать это? Что я здесь делаю неправильно?
, если только я мог бы дать вам больше upvotes ... – jliendo