-1
我有一個很奇怪的問題 - 這是由下面的代碼行造成的:爲什麼在Django中過濾數據會破壞我的代碼?
userlist = twitter_user.objects.filter(enabled=True)
如果我註釋掉這一行,代碼工作正常,但是當取消它,我得到以下錯誤消息:
Traceback (most recent call last):
File "script.py", line 33, in <module>
userlist = twitter_user.objects.filter(enabled=True) ###This is the line that causes the trouble.
File "/home/beano/projects/bikernod.com/lib/python2.6/site-packages/django/db/models/manager.py", line 141, in filter
return self.get_query_set().filter(*args, **kwargs)
File "/home/beano/projects/bikernod.com/lib/python2.6/site-packages/django/db/models/query.py", line 561, in filter
return self._filter_or_exclude(False, *args, **kwargs)
File "/home/beano/projects/bikernod.com/lib/python2.6/site-packages/django/db/models/query.py", line 579, in _filter_or_exclude
clone.query.add_q(Q(*args, **kwargs))
File "/home/beano/projects/bikernod.com/lib/python2.6/site-packages/django/db/models/sql/query.py", line 1170, in add_q
can_reuse=used_aliases, force_having=force_having)
File "/home/beano/projects/bikernod.com/lib/python2.6/site-packages/django/db/models/sql/query.py", line 1058, in add_filter
negate=negate, process_extras=process_extras)
File "/home/beano/projects/bikernod.com/lib/python2.6/site-packages/django/db/models/sql/query.py", line 1225, in setup_joins
field, model, direct, m2m = opts.get_field_by_name(name)
File "/home/beano/projects/bikernod.com/lib/python2.6/site-packages/django/db/models/options.py", line 296, in get_field_by_name
cache = self.init_name_map()
File "/home/beano/projects/bikernod.com/lib/python2.6/site-packages/django/db/models/options.py", line 326, in init_name_map
for f, model in self.get_all_related_m2m_objects_with_model():
File "/home/beano/projects/bikernod.com/lib/python2.6/site-packages/django/db/models/options.py", line 401, in get_all_related_m2m_objects_with_model
cache = self._fill_related_many_to_many_cache()
File "/home/beano/projects/bikernod.com/lib/python2.6/site-packages/django/db/models/options.py", line 415, in _fill_related_many_to_many_cache
for klass in get_models():
File "/home/beano/projects/bikernod.com/lib/python2.6/site-packages/django/db/models/loading.py", line 167, in get_models
self._populate()
File "/home/beano/projects/bikernod.com/lib/python2.6/site-packages/django/db/models/loading.py", line 61, in _populate
self.load_app(app_name, True)
File "/home/beano/projects/bikernod.com/lib/python2.6/site-packages/django/db/models/loading.py", line 76, in load_app
app_module = import_module(app_name)
File "/home/beano/projects/bikernod.com/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module
__import__(name)
ImportError: No module named tweetgrab
我想這可能是一些做的模型本身,所以我試圖從models.BooleanField()來models.CharField(改變) - 這沒什麼區別。
下面是從tweetgrab應用的models.py項:
from django.db import models
class twitter_user(models.Model):
username = models.CharField(max_length=30)
enabled = models.BooleanField()
def __unicode__(self):
return self.username
從我可以做出來(我是很新的Django的/ Python)的,代碼我最初規定的線是造成應用程序無法找到。
我也確信它包含在settings.py文件 - 在安裝的應用程序如下:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'tweetgrab',
# Uncomment the next line to enable the admin:
'django.contrib.admin',
# Uncomment the next line to enable admin documentation:
'django.contrib.admindocs',
)
任何想法什麼怎麼回事,我也與MySQL和SQLite的嘗試這樣做 - 兩者都發生同樣的事情。
tweetgrab不在您的Python路徑中 – sdolan 2011-03-17 22:56:01