I tried using FormView but kept running into errors.  I used your second 
response and it worked!  I don't fully understand the code, but it seems to 
work flawlessly.

Thank you so much! I own you a big one.

On Wednesday, October 25, 2017 at 5:57:04 AM UTC-4, k2527806 wrote:
>
> 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] 
> <javascript:>> 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] 
>> <javascript:>> 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] 
>>> <javascript:>> 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] <javascript:>.
>>>> To post to this group, send email to [email protected] 
>>>> <javascript:>.
>>>> 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/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/3b9b7b1a-78dd-4123-aef5-82e0b7089cb1%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to