0

私はアプリケーションに取り組んでおり、複数のタイプのユーザー、チーム、ファイルがあります。データベース内の 2 つのテーブルは、ユーザーとファイルです。ユーザーはファイルを所有しているため、ファイル テーブルには user_id への外部キー フィールドがあります。ただし、files テーブルには、Linux のアクセス許可のように機能する整数の可視性プロパティもあります。たとえば 0x0000 の場合、最初の 2 ビットはユーザー チームの読み取りと書き込みのアクセス許可を表し、最後の 2 ビットはアプリのすべてのユーザーの読み取りと書き込みのアクセス許可を表し、0x000 は所有者のみがファイルの読み取り/書き込みができることを意味します。0x1010 は、同じチーム内のすべてのユーザーとアプリのすべてのユーザーがファイルから読み取ることはできますが、書き込むことはできないことを意味します。ユーザーのスコープ内のすべてのファイル、つまり特定のユーザーが書き込みまたは読み取りできるすべてのファイルを取得するクエリを実装する必要があります。そのクエリの書き方がわかりません。Tortoise の例で似たようなものを見たことがありません。

all_files = FilesModel.filter(id=user.id, visibility = ...) //something like visibility & 0x0110 > 0 
4

0 に答える 0