Estoy trabajando en una aplicación y tengo varios tipos de usuarios, equipos y archivos. 2 tablas en la base de datos son usuarios y archivos. Un usuario posee un archivo, por lo que la tabla de archivos tiene un campo de clave externa para el ID_usuario. Pero la tabla de archivos también tiene una propiedad de visibilidad, un número entero que funciona como permisos en Linux. Por ejemplo, 0x0000 donde los primeros 2 bits representan un permiso de lectura y escritura para un equipo de usuarios y los últimos 2 para cada usuario de la aplicación, 0x000 significa que solo el propietario puede leer/escribir en/desde el archivo. 0x1010 significa que todos los usuarios del mismo equipo y todos los usuarios de la aplicación pueden leer el archivo pero no escribir. Necesito implementar una consulta para obtener todos los archivos en el alcance del usuario, es decir, todos los archivos que un determinado usuario puede escribir o leer. No estoy seguro de cómo escribir esa consulta, no he visto algo similar en los ejemplos de Tortuga. La consulta debería ser algo como esto
all_files = FilesModel.filter(id=user.id, visibility = ...) //something like visibility & 0x0110 > 0