我在數據庫中的多個類型OBJ_TYPE的我如何可以結合2 Django的查詢到一個與對象限制
什麼,我現在做的是
a = Search_model.objects.filter(obj_type="mall", city=city)[:2]
b = Search_model.objects.filter(obj_type="store", city=city)[:2]
然後再結合A和B因此它給了我: -
[{"name":"a","obj_type":"mall"}, {"name":"b","obj_type":"mall"}{"name":"c","obj_type":"store"}, {"name":"d","obj_type":"store"}]
我想是這樣的
if not search_in == None:
search_in_queries = [q for q in re.split(",", search_in) if q]
for query in search_in_queries:
search_in_dict.append(('obj_type__contains', query))
search_in_query = [Q(x) for x in search_in_dict]
else:
search_in_query = None
這樣search_in的值是「商場,專賣店」
a = Search_model.objects.filter(reduce(operator.or_, search_in_query), city=city)[:4]
,但它給了我所有的商場型的obj
[{"name":"a","obj_type":"mall"}, {"name":"b","obj_type":"mall"}{"name":"c","obj_type":"mall"}, {"name":"d","obj_type":"mall"}]
所以我的查詢是如何能夠做到上述的結果在一個查詢
您是否有任何獨特的基於約束的數據?我的意思是任何分組數據?你可以使用'annotate'對它們進行分組並獲取兩條第一條記錄。 –
你可以給任何示例語法 –
我想這需要普通的SQL,並且很難做到與DJango ORM。你使用的是哪個sql後端? –