我是 Django 和 python 的新手。我已经完成了登录表单,但我需要知道。如何将页面内容与用户联系起来。例如:这是一个问答网站。当您登录时,它会显示个人资料页面,其中包含用户之前提出的问题。数据如何链接到模型中的特定用户 ID?可以使用 User 对象来完成吗?如果是这样,你能给我一些简单的脚本示例吗?
谢谢你。
我是 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
属于当前登录用户的s。