【发布时间】:2010-02-07 00:06:34
【问题描述】:
我正在将 User 对象序列化为 JSON,我想在 JSON 响应中指出序列化的用户是否与发出请求的用户是朋友。
我在我的 User 模型中添加了一个 to_dict() 方法,该方法执行序列化对象所需的预处理——这将是一个添加表示友谊的属性的好地方,但由于 User.to_dict() 没有'无权访问请求对象,我似乎无法在那里进行。
在视图中执行此操作很容易,但我不想在其他视图中重复该代码。我想将用户对象“升级”为请求感知用户对象。
django.contrib.auth 用户模型有一个 is_authenticated 属性,它实际上是请求的属性而不是模型的属性——该属性仅在特定 Web 请求的上下文中才有意义。
就好像我应该将 request.user 替换为 RequestUser 的实例,这是一个接受 User 和 Request 并添加特定于请求的属性的新类。有什么干净的方法可以做到这一点?
【问题讨论】: