我是Django和python的新手。我已经完成了登录表单,但我需要知道。如何将用户的页面内容连接起来。 例如:这是一个Q& A网站。当您登录时,它会显示包含用户之前询问的问题的个人资料页面。数据如何链接到模型中的特定用户ID? 可以使用User对象完成吗?如果是这样,你能用脚本给我一些简单的例子吗?
谢谢。
答案 0 :(得分:1)
“属于”某个用户的任何内容都应该ForeignKey
或ManyToManyField
(取决于该对象是由一个用户还是多个用户拥有)到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
。