2014-02-17 51 views
0

我在Django 1.6.1中遇到了QuerySets的困難時期:很多方法似乎都丟失了,也許被其他人取代。Django中的奇怪查詢集

例如我不能使用|運營商,無論是串行器(just like here),但我可以用to_json,我不能在文檔中找到...

這是我得到的時候我在Django控制檯類型dir(anyQuerySet)

['_QuerySet__dereference', 
'__call__', 
'__class__', 
'__deepcopy__', 
'__delattr__', 
'__dict__', 
'__doc__', 
'__format__', 
'__getattribute__', 
'__getitem__', 
'__hash__', 
'__init__', 
'__iter__', 
'__module__', 
'__new__', 
'__reduce__', 
'__reduce_ex__', 
'__repr__', 
'__setattr__', 
'__sizeof__', 
'__str__', 
'__subclasshook__', 
'__weakref__', 
'_as_pymongo', 
'_as_pymongo_coerce', 
'_auto_dereference', 
'_class_check', 
'_collection', 
'_collection_obj', 
'_cursor', 
'_cursor_args', 
'_cursor_obj', 
'_dereference', 
'_document', 
'_ensure_indexes', 
'_fields_to_dbfields', 
'_get_as_pymongo', 
'_get_order_by', 
'_get_scalar', 
'_hint', 
'_initial_query', 
'_item_frequencies_exec_js', 
'_item_frequencies_map_reduce', 
'_iter', 
'_limit', 
'_loaded_fields', 
'_mongo_query', 
'_none', 
'_ordering', 
'_query', 
'_query_obj', 
'_read_preference', 
'_scalar', 
'_skip', 
'_slave_okay', 
'_slice', 
'_snapshot', 
'_sub_js_fields', 
'_timeout', 
'_where_clause', 
'all', 
'all_fields', 
'as_pymongo', 
'average', 
'clone', 
'count', 
'create', 
'delete', 
'distinct', 
'ensure_index', 
'exclude', 
'exec_js', 
'explain', 
'fields', 
'filter', 
'first', 
'from_json', 
'get', 
'get_or_create', 
'hint', 
'in_bulk', 
'insert', 
'item_frequencies', 
'limit', 
'map_reduce', 
'next', 
'no_dereference', 
'none', 
'only', 
'order_by', 
'read_preference', 
'rewind', 
'scalar', 
'select_related', 
'skip', 
'slave_okay', 
'snapshot', 
'sum', 
'timeout', 
'to_json', 
'update', 
'update_one', 
'values_list', 
'where', 
'with_id'] 

回答

2

您似乎在使用MongoDb而不是傳統的關係數據庫。因此,您還必須使用第三方庫從Django查詢該數據庫。因此,您不應該對您的查詢集與標準Django查詢集不同而感到驚訝。

+0

好的,是的,我正在使用mongoengine。我認爲它只是擴展了原來的Django QuerySet類,但它實際上是非常不同的。文檔在這裏:http://docs.mongoengine.org/en/latest/apireference.html#mongoengine.queryset.QuerySet –