我是Django和python的新手。我已经填写了登录表格,但我需要知道。如何将页面的内容与用户连接。例如:这是一个问答;一个网站。当您登录时,它会显示包含用户以前问过的问题的配置文件页面。数据如何链接到模型中的特定用户ID?可以使用User对象完成吗?如果是的话,你能给我举一些关于剧本的简单例子吗?
谢谢。
任何"属于"用户的东西,都应该有一个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
。