Django:用户查询M2M模型

时间:2012-10-05 03:14:01

标签: python django django-queryset

我有一个模型House,House有很多用户(称为所有者),我希望获得用户拥有的所有房屋(特别是登录用户),以下内容:

House.objects.filter(owners__contains=request.user)

产生无效的查找错误,我假设这是因为它意味着做一个LIKE。虽然我不确定如何检索这些数据。有什么想法吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

正确的代码:

House.objects.filter(owners=request.user)

答案 1 :(得分:1)

您还可以根据模型的定义方式使用以下内容:

request.user.house_set.all()

这样可以节省您将House导入当前范围的过程。

请注意,如果您使用related_name定义了多对多,那么您将使用它而不是house_set