数据如何连接到特定用户ID?

时间:2012-01-04 14:18:30

标签: python django django-authentication django-profiles

我是Django和python的新手。我已经完成了登录表单,但我需要知道。如何将用户的页面内容连接起来。 例如:这是一个Q& A网站。当您登录时,它会显示包含用户之前询问的问题的个人资料页面。数据如何链接到模型中的特定用户ID? 可以使用User对象完成吗?如果是这样,你能用脚本给我一些简单的例子吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

“属于”某个用户的任何内容都应该ForeignKeyManyToManyField(取决于该对象是由一个用户还是多个用户拥有)到User。然后,您可以根据User

过滤模型
SomeModel.objects.filter(user=some_user)
# where `user` is the name of your foreign key field

或者您可以通过反向关系通过访问模型,例如:

class SomeModel(models.Model):
    ...
    user = models.ForeignKey(User)

# Later ...

some_user.somemodel_set.all()

第二种方法更为典型,因为您通常已经有来自请求的用户,因此在您的视图中,您只需执行以下操作:

somemodels = request.user.somemodel_set.all()

获取属于当前登录用户的所有SomeModel