我有两个模型:
Model_A that contains a GeoDjango Point;
Model_B that contains a GeoDjnago MultiPololygon;
对于Model_A中的每个元素,我都必须检查该点是否包含在Model_B元素的某个m_polygon中;
我能够进行这个简单的查询。
但是我也想到: Model_A中有很多元素,而Model_B中只有很少的元素。 因此,可能更有效的方法是迭代Model_B中的所有元素,并检查是否存在一些元素在Model_B当前元素中包含。
那么,有没有办法进行这个GeoDjango查询?
类似于这样的东西:
Model_A.objects.filter(*point_is_contained_into*=a_model_b_mpolygon);
------------------ 编辑 -----------------
我尝试使用这个:
result = Model_A.objects.filter(position__intersects=a_model_b_mpolygon)
这对我有用。 在我的情况下,是否有使用这种类型查询的禁忌症?