that your code :
class CreatePost(CreateView):
    model = Post

    def form_valid(self, form):
        form.instance.user = self.request.user
        return super(CreatePost, self).form_valid(form)

On Wed, Oct 25, 2017 at 1:22 PM, mohammad k <[email protected]> wrote:

> use FormView
>
> https://docs.djangoproject.com/en/1.11/ref/class-based-
> views/generic-editing/#formview
>
> On Wed, Oct 25, 2017 at 1:21 PM, mohammad k <[email protected]> wrote:
>
>> class Upload(FormView):
>>     http_method_names = ['get', 'post']
>>     template_name = 'public/upload.html'
>>     success_url = reverse_lazy('upload')
>>     form_class = UploadForms
>>
>>     def get(self, request, *args, **kwargs):
>>         form = self.form_class(user=request.user)
>>         return render(request, self.template_name, {'form': form})
>>
>>     def post(self, request, *args, **kwargs):
>>         form = self.form_class(request.POST, request.FILES,
>> user=request.user)
>>         if form.is_valid():
>>             data = form.save(commit=False)
>>             data.user = request.user
>>             data.save()
>>             messages.add_message(request, messages.SUCCESS,
>> self.success_message)
>>             return redirect(self.success_url)
>>         return render(request, self.template_name, {'form': form})
>>
>> On Wed, Oct 25, 2017 at 3:22 AM, Jack Zhang <[email protected]>
>> wrote:
>>
>>> Thanks for your response.  This is an off-topic question but I can't
>>> figure out how to get 'request' working.  I'm using the CreateView generic
>>> class, so there's no space to insert 'request'.  This is what my code looks
>>> like.  When I try to run it, it tells me that request is not found.
>>>
>>> class ListingCreateView(LoginRequiredMixin, CreateView):
>>>     model = BuyerListing
>>>
>>>     form_class = PostListing(self.request.POST)
>>>     if form.is_valid():
>>>         form_save = form.save(commit=False)
>>>         form_save.user = request.user # user is logged in
>>>         form.save()
>>>
>>>     def get_queryset(self):  # the user want to edit this post must be
>>> owner this post
>>>         post_qs = super(PostListing, self).get_queryset()
>>>         return post_qs.filter(user=self.request.user)
>>>
>>> On Tuesday, October 24, 2017 at 12:35:15 PM UTC-4, k2527806 wrote:
>>>>
>>>> try that in your views
>>>>
>>>> form = Dog_Form(request.POST)
>>>> if form.is_valid():
>>>>     form_save = form.save(commit=False)
>>>>     form_save.user = request.user # user is logged in
>>>>     form.save()
>>>>
>>>>
>>>> On Tue, Oct 24, 2017 at 7:37 PM, Jack Zhang <[email protected]> wrote:
>>>>
>>>>> Let's say I have a model called 'Dogs'.  Users can create instances of
>>>>> Dogs.  Let's say we have a user called User1.  I have 2 questions:
>>>>>
>>>>> 1. When User1 creates an instance of Dogs, how do I automatically
>>>>> assign that instance to User1?  I tried using a model field like this but
>>>>> it doesn't pick the user automatically:
>>>>>
>>>>> user = models.ForeignKey(User, unique=False)
>>>>>
>>>>> 2. After the instance has been created, how do I make the instance
>>>>> only editable and removable by the user who made it?  Basically, if User1
>>>>> creates an instance of Dogs, only User1 can edit and delete that instance.
>>>>>
>>>>> Thanks.
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "Django users" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to [email protected].
>>>>> To post to this group, send email to [email protected].
>>>>> Visit this group at https://groups.google.com/group/django-users.
>>>>> To view this discussion on the web visit
>>>>> https://groups.google.com/d/msgid/django-users/dedbfe8b-1013
>>>>> -4844-b142-1e8615a1ef9a%40googlegroups.com
>>>>> <https://groups.google.com/d/msgid/django-users/dedbfe8b-1013-4844-b142-1e8615a1ef9a%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
>>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Django users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> To post to this group, send email to [email protected].
>>> Visit this group at https://groups.google.com/group/django-users.
>>> To view this discussion on the web visit https://groups.google.com/d/ms
>>> gid/django-users/950d853a-ade3-4d27-8e23-a47c6b70c80e%40googlegroups.com
>>> <https://groups.google.com/d/msgid/django-users/950d853a-ade3-4d27-8e23-a47c6b70c80e%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CACOk0TzDGDVVBZZi3b-unsqg4FsdTPQJBnPD8jRPZ8gorJTRLA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to