Tuesday, October 24, 2017

Re: Automatically assign model instance to the user who created it. And only that user can edit/delete the instance.

for question 2 :

    def get_queryset(self):  # the user want to edit this post must be owner this post
        post_qs = super(UpdatePost, self).get_queryset()
        return post_qs.filter(user=self.request.user)

On Tue, Oct 24, 2017 at 8:04 PM, mohammad k <k2527806@gmail.com> 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 <valachio123@gmail.com> 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 django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
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.
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 django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
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/CACOk0TwgM9u%3DcioPKzvzYVtAc21JqQV5W5zpcoL4N%2BkE7gTSrw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment