我有以下的用戶資源:如何用tastypie按用戶標識過濾對象?
class UserResource(ModelResource):
class Meta:
queryset = User.objects.all()
resource_name = 'user'
fields = ['username', 'first_name', 'last_name']
allowed_methods = ['get']
filtering = {
'username': ALL,
'id': ALL,
}
和下面的模型資源:
class GoalResource(ModelResource):
user = fields.ForeignKey(UserResource, 'user')
class Meta:
#authentication = BasicAuthentication()
#authorization = ReadOnlyAuthorization()
queryset = Goal.objects.all()
resource_name = 'goal'
filtering = {
'user': ALL_WITH_RELATIONS,
}
我希望能夠過濾通過用戶ID而不是用戶名的目標。
我可以做這個GET請求獲得來自某些用戶名目標清單:
http://localhost:8000/api/v1/goal/?user__username=test
但我希望能夠通過用戶ID而不是進行排序:
http://localhost:8000/api/v1/goal/?user__id=1
如何我會得到第二部分的工作?
另外,通過Javascript訪問當前登錄用戶的id的一般過程是什麼?我正在使用backbonejs,我想爲所有登錄用戶的目標發佈帖子。我想過在頁面上放置一個隱藏的字段和用戶的ID。然後從DOM中提取隱藏字段的值,但我認爲使用chrome的開發人員工具可以隨時更改id。當然,我將使用身份驗證來檢查登錄用戶的ID是否與我從隱藏字段中提取的ID匹配。但接受的方式是什麼?
按照user_id進行排序或過濾? – ashwoods 2012-03-28 07:39:28
這似乎很奇怪,你不包括在用戶字段中的編號 – 2012-07-31 12:11:40