models.py
class Estates(models.Model):
userprofile = models.ForeignKey(UserProfile, verbose_name=u'Пользователь', default=1)
class UserProfile(models.Model):
user = models.ForeignKey(User, unique=True, verbose_name=u'Пользователь')
И стандартная User
forms.py - стандартно
views.py
model_formset = modelformset_factory(Estates, form=EstatesForm, extra=1, can_delete=True)
if request.POST:
formset = model_formset(request.POST, request.FILES, queryset=Estates.objects.filter(userprofile__user__username__exact=username))
if formset.is_valid():
formset.save()
estates_objects = formset.save(commit=False)
formset.save()
for obj in estates_objects:
obj.userprofile_id = request.user.id # :( проблема тут
obj.save()
return HttpResponseRedirect('')
else:
formset = model_formset(queryset=Estates.objects.filter(userprofile__user__username__exact=username))
return render(request, template_name, dict(formset=formset))
Дело в том, что ID Estates.userprofile в даном случае берется из User.id,
все было бы хорошо, но User.id соответствует UserProfile.user_id
а Estates.userprofile, соответствует UserProfile.id
Как правильно построить запрос, здесь: obj.userprofile_id = request.user.id ?
Спасибо