Igor
Igor

Reputation: 2919

Django models, how to set object owner while saving

Friend model:

# Friend model
class Friend(models.Model):
    owner = models.ForeignKey(User)
    friend = models.ForeignKey(User, related_name='friend_friend')

How it should work: User adds friend and then Django sets owner to current_user

Question: How to set owner to current user when a new Friend object is being saved?

Upvotes: 0

Views: 617

Answers (1)

doniyor
doniyor

Reputation: 37866

a little change to your model:

owner = models.ForeignKey(User, related_name="owners_friend")

and your views.py

@login_required(login_url='/yourloginurl/')
def save_newfriend(request):
   owner = request.user
   # process friend_form_data       
   new_friend = owner.owners_friend.create(friend=friend_form_data)

this way, you dont need to assign the owner explicitly since you are creating Friend from owner's object so to speak

Upvotes: 1

Related Questions