我正在使用 django 的内置 contrib.auth 模块,并为添加“帖子”时设置了与用户的外键关系:
class Post(models.Model):
owner = models.ForeignKey('User')
# ... etc.
现在谈到实际添加帖子时,我不确定在调用 save() 之前在所有者字段中提供什么。我希望用户 session 中有类似 id 的东西,但我注意到用户没有 user_id 或 id 属性。我应该从用户的身份验证 session 中提取哪些数据来填充所有者字段?我试图查看数据库表中发生了什么,但还不太了解 sqlite 设置。
感谢您的帮助...
请您参考如下方法:
您想提供一个“用户”对象。 IE。与您从 User.objects.get(pk=13) 获得的东西相同。
如果您使用 Django 的身份验证组件,用户也会附加到请求对象,您可以直接在 View 代码中使用它:
request.user
如果用户未通过身份验证,则 Django 将返回 django.contrib.auth.models.AnonymousUser 的实例。 (根据 http://docs.djangoproject.com/en/dev/ref/request-response/#attributes )
