Вы сделали два объекта User
, объект User
из django.contrib.auth
и один из приложения User
. Чтобы извлечь связанный объект User
из приложения User
, вы можете использовать self.request.user.user
(если, конечно, вы сконструировали этот связанный объект):
class CreatePostView(LoginRequiredMixin, CreateView):
# form_class = forms.PostForm
fields = ['text',]
model = Post
def form_valid(self, form):
self.object = form.save(commit=False)
form.instance.author = <b>self.request.user.user</b>
self.object.save()
return super().form_valid(form)
Однако очень сложно назвать две модели одинаковы. Например, может быть лучше использовать Profile
. В этом случае это будет form.instance.author = self.request.user.profile
, что также более читабельно.