在我的django应用程序中,我需要在tastypie资源中获取当前用户的id(登录用户的id)。在这里,我无法访问请求对象,因为我遇到了问题。
以下是文件: myapi.py
from tastypie.resources import Resource
class Rating(Resource):
def get_table(obj):
table = Table(TABLE_NAME_2)
return table
class Meta:
resource_name = 'rating'
serializer = urlencodeSerializer()
object_class = DynamoObject
always_return_data = True
def obj_get_list(self, bundle, **kwargs):
table = self.get_table()
### need to get user_id from view
user_id = 2
items = table.query(user_id__eq = user_id, limit= 1 , consistent = True)
items = [i for i in items]
my_items = []
if len(items) == 0:
my_items.append(DynamoObject(initial={"photo_id": "0"}))
else:
for item in items:
my_items.append(DynamoObject(initial=dict(item)))
return my_items
我如何实现这一目标?
答案 0 :(得分:4)
答案 1 :(得分:-1)
我不知道你的情况是否可行,但你可以在控件使用django中的中间件进入API之前阅读请求内部。在中间件中读取请求对象后,您可以将其转发给API对象。 More on django middleware