我试图根据用户对象权限表过滤SearchQuerySet,以根据当前用户的权限限制结果。
此模型将用户映射到通用对象:
class UserObjectPermission(models.Model):
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
content_object = generic.GenericForeignKey('content_type', 'object_id')
user = models.ForeignKey(settings.AUTH_USER_MODEL)
我尝试过滤视图中的结果(obv赢了工作):
query = SearchQuerySet()
user_allowed_objects = (UserObjectPermission
.filter(user__pk=request.user.pk)
.values_list('content_type', 'object_id')
query = query.filter(#some pair lookup vs_user_allowed_objects)
这里可以进行原始SQL连接吗?