Django模型,如何在保存时设置对象所有者

时间:2014-12-07 10:35:53

标签: python django

朋友模特:

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

如何运作:用户添加好友,然后Django将所有者设置为current_user

问题:如何在保存新的朋友对象时将所有者设置为当前用户?

1 个答案:

答案 0 :(得分:1)

对您的模型稍作修改:

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

和你的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)
这样,您就不需要明确指定owner,因为您要从所有者的对象创建好友,可以这么说