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.