Python Django过滤器查询-不';行不通

Python Django过滤器查询-不';行不通,python,django,django-models,django-queryset,django-1.8,Python,Django,Django Models,Django Queryset,Django 1.8,我的Django有问题,我想写一个非常简单的查询,但它不起作用 型号: class Games(models.Model): name = models.CharField(max_length=128) path_to_folder = models.CharField(max_length=256) description = models.TextField() cover = models.URLField() def __str__(self)

我的Django有问题,我想写一个非常简单的查询,但它不起作用

型号:

class Games(models.Model):
    name = models.CharField(max_length=128)
    path_to_folder = models.CharField(max_length=256)
    description = models.TextField()
    cover = models.URLField()

    def __str__(self):
        return self.name
我正在尝试这样的事情(在我看来它应该会发现自己):

>>来自gamepanel.models导入游戏
>>>e=Games.objects.all()
>>>打印(e)
[]
>>>e[0]。名称
《使命召唤4》
>>>q=Games.objects.filter(name=e[0].name)
但当我写下最后一行并按enter键时,我得到:

Traceback (most recent call last):
File "/home/zoli/Desktop/django-master/newest/django-trunk/django/db/models/options.py", line 404, in get_field_by_name
return self._name_map[name]
AttributeError: 'Options' object has no attribute '_name_map'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/zoli/Desktop/django-master/newest/django-trunk/django/db/models/options.py", line 518, in get_all_related_m2m_objects_with_model
cache = self._related_many_to_many_cache
AttributeError: 'Options' object has no attribute '_related_many_to_many_cache'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/lib/python3.4/code.py", line 90, in runcode
exec(code, self.locals)
File "<input>", line 1, in <module>
File "/home/zoli/Desktop/django-master/newest/django-trunk/django/db/models/manager.py", line 80, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/home/zoli/Desktop/django-master/newest/django-trunk/django/db/models/query.py", line 702, in filter
return self._filter_or_exclude(False, *args, **kwargs)
File "/home/zoli/Desktop/django-master/newest/django-trunk/django/db/models/query.py", line 720, in _filter_or_exclude
clone.query.add_q(Q(*args, **kwargs))
File "/home/zoli/Desktop/django-master/newest/django-trunk/django/db/models/sql/query.py", line 1316, in add_q
clause, require_inner = self._add_q(where_part, self.used_aliases)
File "/home/zoli/Desktop/django-master/newest/django-trunk/django/db/models/sql/query.py", line 1343, in _add_q
current_negated=current_negated, connector=connector)
File "/home/zoli/Desktop/django-master/newest/django-trunk/django/db/models/sql/query.py", line 1164, in build_filter
lookups, parts, reffed_aggregate = self.solve_lookup_type(arg)
File "/home/zoli/Desktop/django-master/newest/django-trunk/django/db/models/sql/query.py", line 1076, in solve_lookup_type
_, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta())
File "/home/zoli/Desktop/django-master/newest/django-trunk/django/db/models/sql/query.py", line 1368, in names_to_path
field, model, direct, m2m = opts.get_field_by_name(name)
File "/home/zoli/Desktop/django-master/newest/django-trunk/django/db/models/options.py", line 406, in get_field_by_name
cache = self.init_name_map()
File "/home/zoli/Desktop/django-master/newest/django-trunk/django/db/models/options.py", line 435, in init_name_map
for f, model in self.get_all_related_m2m_objects_with_model():
File "/home/zoli/Desktop/django-master/newest/django-trunk/django/db/models/options.py", line 520, in get_all_related_m2m_objects_with_model
cache = self._fill_related_many_to_many_cache()
File "/home/zoli/Desktop/django-master/newest/django-trunk/django/db/models/options.py", line 534, in _fill_related_many_to_many_cache
for klass in self.apps.get_models():
File "/usr/lib/python3.4/functools.py", line 428, in wrapper
result = user_function(*args, **kwds)
File "/home/zoli/Desktop/django-master/newest/django-trunk/django/apps/registry.py", line 168, in get_models
self.check_models_ready()
File "/home/zoli/Desktop/django-master/newest/django-trunk/django/apps/registry.py", line 131, in check_models_ready
raise AppRegistryNotReady("Models aren't loaded yet.")
回溯(最近一次呼叫最后一次):
文件“/home/zoli/Desktop/django master/latest/django trunk/django/db/models/options.py”,第404行,在“按名称获取”字段中
返回自我。\u名称\u映射[名称]
AttributeError:“选项”对象没有属性“\u name\u map”
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“/home/zoli/Desktop/django-master/newst/django-trunk/django/db/models/options.py”,第518行,在get\u-all\u-related\u-m2m\u-objects\u和\u-model中
cache=self.\u与\u多\u缓存相关
AttributeError:“选项”对象没有属性“\u-related\u-many\u-to\u-many\u缓存”
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“/usr/lib/python3.4/code.py”,第90行,运行代码
exec(代码,self.locals)
文件“”,第1行,在
文件“/home/zoli/Desktop/django master/latest/django trunk/django/db/models/manager.py”,第80行,在manager_方法中
返回getattr(self.get_queryset(),name)(*args,**kwargs)
文件“/home/zoli/Desktop/django master/latest/django trunk/django/db/models/query.py”,第702行,在过滤器中
返回self.\u filter\u或\u exclude(False、*args、**kwargs)
文件“/home/zoli/Desktop/django master/latest/django trunk/django/db/models/query.py”,第720行,在“过滤器”或“排除”中
clone.query.add_q(q(*args,**kwargs))
文件“/home/zoli/Desktop/django master/latest/django trunk/django/db/models/sql/query.py”,第1316行,在add_q中
子句,require\u inner=self.\u add\u q(其中,self部分,self.used\u别名)
文件“/home/zoli/Desktop/django-master/newst/django-trunk/django/db/models/sql/query.py”,第1343行,在
电流_否定=电流_否定,连接器=连接器)
文件“/home/zoli/Desktop/django master/latest/django trunk/django/db/models/sql/query.py”,第1164行,内置过滤器
查找、部件、引用\u聚合=self.solve\u查找\u类型(arg)
文件“/home/zoli/Desktop/django master/latest/django trunk/django/db/models/sql/query.py”,第1076行,在solve_lookup_类型中
_,字段,\,查找\u parts=self.names\u to\u path(查找\u拆分,self.get\u meta())
文件“/home/zoli/Desktop/django master/latest/django trunk/django/db/models/sql/query.py”,第1368行,位于names\u-to\u路径中
字段,模型,直接,m2m=opts。按名称(名称)获取字段
文件“/home/zoli/Desktop/django master/latest/django trunk/django/db/models/options.py”,第406行,在“按名称获取”字段中
cache=self.init\u name\u map()
文件“/home/zoli/Desktop/django master/latest/django trunk/django/db/models/options.py”,第435行,在init_name_映射中
对于f,在self中建模。使用模型()获取所有相关对象:
文件“/home/zoli/Desktop/django master/latest/django trunk/django/db/models/options.py”,第520行,在get_所有与_模型相关的_m2m_对象中
cache=self.\u fill\u related\u many\u to\u many\u cache()
文件“/home/zoli/Desktop/django-master/newst/django-trunk/django/db/models/options.py”,第534行,在“填充”相关的“多对多”缓存中
对于self.apps.get_models()中的klass:
包装器中第428行的文件“/usr/lib/python3.4/functools.py”
结果=用户函数(*args,**kwds)
文件“/home/zoli/Desktop/django master/latest/django trunk/django/apps/registry.py”,第168行,在get_模型中
self.check_models_ready()
文件“/home/zoli/Desktop/django-master/newest/django-trunk/django/apps/registry.py”,第131行,在check\u models\u ready中
raise AppRegistryNotReady(“尚未加载模型”)
django.core.exceptions.AppRegistryNotReady:尚未加载模型


我不知道我做错了什么,我也尝试过用.id做同样的事情,但它也不起作用。

在Django 1.7及更高版本中,如果不先显式初始化Django,就不能使用模型。运行以下命令:

import django
django.setup()
然后你的查询就可以了


相关Django文档:

您没有做错任何事情,尽管使用alpha版本并在其不稳定时感到惊讶可能不会让您走得很远……非常感谢:)我将删除它并安装一个稳定的版本。我也会在1.7.0rc3上遇到这种情况……您是在终端中还是通过IDE(例如PyCharm)尝试过它 ?
import django
django.setup()