Ситуация такая: есть три таблицы, Users(стандартная django), UserInfo и UserCareer. Связи между Users и UserInfo один к одному, а между UserInfo и UserCareer один ко многим. Я сделал форму и вью для модели UserCareer, но данные не сохраняются. Выдает следующую ошибку: 1048, "Column 'user_id' cannot be null".
Подскажите, что делаю не так и почему не сохраняется user_id?
Код:
models.pyfrom django.contrib.auth.models import User
class UserInfo(models.Model):
""" Users data """
user = models.OneToOneField(User)
...
class UserCareer(models.Model):
""" Users Work Expirience """
user = models.ForeignKey(UserInfo)
...
urls.pyurlpatterns = [
url(r'^career/(?P<user_id>\d+)/add/$', views.new_career, name='new_career'),
]
views.pydef new_career(request, user_id):
user_info = UserInfo.objects.get(id=user_id)
if request.method != 'POST':
form = UserCareerForm
else:
form = UserCareerForm(data=request.POST)
if form.is_valid():
user_career = form.save()
user_career.user = user_info.id
user_career.save()
return HttpResponseRedirect(reverse('/'))
context = {
'user_info': user_info,
'form': form,
}
return render(request, 'user_resume/career.html', context)
career.html<form action="{% url 'user_resume:new_career' user_info.id %}" method='post'>
{% csrf_token %}
{{ form.as_p }}
<button name="submit">Save</button>
</form>