Sql 如何查询以下场景以统计Django中的用户数?

Sql 如何查询以下场景以统计Django中的用户数?,sql,django,Sql,Django,我在数据库中有一个名为fileupload\u share的表 +----+----------+----------+----------------+----------------------------------+ | id | users_id | files_id | shared_user_id | shared_date | +----+----------+----------+----------------+-----------

我在数据库中有一个名为
fileupload\u 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 |
我想根据
文件\u id
计算
共享\u用户\u id
的数量

例如,我想找出id为1的文件与多少用户共享。答案是有2个用户
(共享用户id
)。我怎么能在Django找到这个

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上不起作用,因为字段上有不同的方法。 但是,您可以尝试HP的方法:

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() 

有两个文件id?我在第二个文件中得到了未定义的变量。在第二个文件中,您应该使用您的id:1,2,3-随便什么。为什么按参数的方法排序?应该是
.order\u by()。
不是吗?danihp,我认为,在本例中,您甚至不应该使用order\u by。请对您想说的内容添加一个小的解释。