2

というデータベースにテーブルがありますfileupload_share

+----+----------+----------+----------------+----------------------------------+
| id | users_id | files_id | shared_user_id | shared_date                      |
+----+----------+----------+----------------+----------------------------------+
|  3 |        1 |        1 |              2 | 2013-01-31 14:27:06.523908+00:00 |
|  2 |        1 |        1 |              2 | 2013-01-31 14:25:37.760192+00:00 |
|  4 |        1 |        3 |              2 | 2013-01-31 14:46:01.089560+00:00 |
|  5 |        1 |        1 |              3 | 2013-01-31 14:50:54.917337+00:00 |

shared_user_idに従っての数を数えたいfile_id

たとえば、ID 1 のファイルが共有されているユーザーの数を調べたいとします。答えは2人のユーザーです(shared_user_id)。Djangoでそれを見つけるにはどうすればよいですか?

4

1 に答える 1

0
file_id = 2 #Here is your file_id variable
fileupload_share.objects.filter(file_id = file_id)
    .order_by('shared_user_id').distinct('shared_user_id').count()

以下のコメントにあるように、フィールドのメソッドが異なるため、この例は MySQL では機能しません。ただし、 danihpの方法を試すことができます。

file_id = 2 #Here is your file_id variable
fileupload_share.objects.filter(file_id = file_id)
    .values_list('shared_user_id', flat=True).distinct().count() 
于 2013-01-31T09:09:44.790 に答える