2011-09-21 116 views
1

刚更新到Django 1.3并遇到奇怪的错误。我从版本1.2.7的某些代码中收到以下错误。升级到Django 1.3后,ManyToMany出现FieldError

FieldError: Cannot resolve keyword 'email_config_set' into field. Choices are: id, name, site, type 

很奇怪的是email_config_set是ManyToMany字段的相关名称。我不确定django为什么试图将它解决为一个领域。发生

错误内心深处的Django:

Traceback (most recent call last): 
    File "./core/driver.py", line 268, in run 
    self.init_norm() 
    File "./driver/emailevent/background.py", line 130, in init_norm 
    self.load_config() 
    File "./driver/emailevent/background.py", line 71, in load_config 
    events = list(config.events.select_related()) 
    File "/usr/local/lib/python2.6/site-packages/Django-1.3.1-py2.6.egg/django/db/models/manager.py", line 168, in select_related 
    return self.get_query_set().select_related(*args, **kwargs) 
    File "/usr/local/lib/python2.6/site-packages/Django-1.3.1-py2.6.egg/django/db/models/fields/related.py", line 497, in get_query_set 
    return superclass.get_query_set(self).using(db)._next_is_sticky().filter(**(self.core_filters)) 
    File "/usr/local/lib/python2.6/site-packages/Django-1.3.1-py2.6.egg/django/db/models/query.py", line 550, in filter 
    return self._filter_or_exclude(False, *args, **kwargs) 
    File "/usr/local/lib/python2.6/site-packages/Django-1.3.1-py2.6.egg/django/db/models/query.py", line 568, in _filter_or_exclude 
    clone.query.add_q(Q(*args, **kwargs)) 
    File "/usr/local/lib/python2.6/site-packages/Django-1.3.1-py2.6.egg/django/db/models/sql/query.py", line 1194, in add_q 
    can_reuse=used_aliases, force_having=force_having) 
    File "/usr/local/lib/python2.6/site-packages/Django-1.3.1-py2.6.egg/django/db/models/sql/query.py", line 1069, in add_filter 
    negate=negate, process_extras=process_extras) 
    File "/usr/local/lib/python2.6/site-packages/Django-1.3.1-py2.6.egg/django/db/models/sql/query.py", line 1260, in setup_joins 
    "Choices are: %s" % (name, ", ".join(names))) 
FieldError: Cannot resolve keyword 'email_config_set' into field. Choices are: id, name, site, type 

任何指针或提示将受到欢迎。

+0

有趣的是,只出现这个问题时,“DEBUG =真”,如果你创建一个新的virtualenv和新的Django安装 – Phil

+0

这是一个重复的错误? – RyanBrady

回答