2016-08-10 8 views
0

これまでにこの問題は発生していません。私は数え切れないほどのプロジェクトを開始し、私が初めて「makemigrations」を実行するために行ってきました何の問題もなかったこのプロジェクトでは、私はエラーになっておくました:。初めてDjango 1.9を移行するとテーブルが作成されない

django.db.utils.OperationalError: no such table: accounts_customuser

ポイントですが、表にはありません。 。..itは、ものを作ることになって

私は空想のデータベースを実行していない、それだけでsqlite3のだだ

INSTALLED_APPS = [ 
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'django.contrib.sites', 
    'django_extensions', 
    'rest_framework', 
    'rest_framework.authtoken', 
    # 'djoser', 
    # 'django_comments', 
    # 'django_comments_xtd', 
    'accounts', 
    'blog', 
] 

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.sqlite3', 
     'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), 
    } 
} 

完全なトレースバック:

Traceback (most recent call last): 
File "C:\Program Files (x86)\JetBrains\PyCharm 4.5.4\helpers\pycharm\django_manage.py", line 41, in <module> 
run_module(manage_file, None, '__main__', True) 
File "C:\Python27\Lib\runpy.py", line 176, in run_module 
fname, loader, pkg_name) 
File "C:\Python27\Lib\runpy.py", line 82, in _run_module_code 
mod_name, mod_fname, mod_loader, pkg_name) 
File "C:\Python27\Lib\runpy.py", line 72, in _run_code 
exec code in run_globals 
File "C:\Users\User\Desktop\newapp\manage.py", line 10, in <module> 
execute_from_command_line(sys.argv) 
File "C:\Users\User\Desktop\newsite\lib\site-packages\django\core\management\__init__.py", line 353, in execute_from_command_line 
utility.execute() 
File "C:\Users\User\Desktop\newsite\lib\site-packages\django\core\management\__init__.py", line 345, in execute 
self.fetch_command(subcommand).run_from_argv(self.argv) 
File "C:\Users\User\Desktop\newsite\lib\site-packages\django\core\management\base.py", line 348, in run_from_argv 
self.execute(*args, **cmd_options) 
File "C:\Users\User\Desktop\newsite\lib\site-packages\django\core\management\base.py", line 398, in execute 
self.check() 
File "C:\Users\User\Desktop\newsite\lib\site-packages\django\core\management\base.py", line 426, in check 
include_deployment_checks=include_deployment_checks, 
File "C:\Users\User\Desktop\newsite\lib\site-packages\django\core\checks\registry.py", line 75, in run_checks 
new_errors = check(app_configs=app_configs) 
File "C:\Users\User\Desktop\newsite\lib\site-packages\django\core\checks\urls.py", line 13, in check_url_config 
return check_resolver(resolver) 
File "C:\Users\User\Desktop\newsite\lib\site-packages\django\core\checks\urls.py", line 23, in check_resolver 
for pattern in resolver.url_patterns: 
File "C:\Users\User\Desktop\newsite\lib\site-packages\django\utils\functional.py", line 33, in __get__ 
res = instance.__dict__[self.name] = self.func(instance) 
File "C:\Users\User\Desktop\newsite\lib\site-packages\django\core\urlresolvers.py", line 417, in url_patterns 
patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module) 
File "C:\Users\User\Desktop\newsite\lib\site-packages\django\utils\functional.py", line 33, in __get__ 
res = instance.__dict__[self.name] = self.func(instance) 
File "C:\Users\User\Desktop\newsite\lib\site-packages\django\core\urlresolvers.py", line 410, in urlconf_module 
return import_module(self.urlconf_name) 
File "C:\Python27\Lib\importlib\__init__.py", line 37, in import_module 
__import__(name) 
File "C:/Users/User/Desktop/newapp\newapp\urls.py", line 21, in <module> 
from blog.views import PostViewSet 
File "C:/Users/User/Desktop/newapp\blog\views.py", line 14, in <module> 
class PostViewSet(ModelViewSet): 
File "C:/Users/User/Desktop/newapp\blog\views.py", line 15, in PostViewSet 
some_user = CustomUser.objects.get(pk=1) 
File "C:\Users\User\Desktop\newsite\lib\site-packages\django\db\models\manager.py", line 122, in manager_method 
return getattr(self.get_queryset(), name)(*args, **kwargs) 
File "C:\Users\User\Desktop\newsite\lib\site-packages\django\db\models\query.py", line 381, in get 
num = len(clone) 
File "C:\Users\User\Desktop\newsite\lib\site-packages\django\db\models\query.py", line 240, in __len__ 
self._fetch_all() 
File "C:\Users\User\Desktop\newsite\lib\site-packages\django\db\models\query.py", line 1074, in _fetch_all 
self._result_cache = list(self.iterator()) 
File "C:\Users\User\Desktop\newsite\lib\site-packages\django\db\models\query.py", line 52, in __iter__ 
results = compiler.execute_sql() 
File "C:\Users\User\Desktop\newsite\lib\site-packages\django\db\models\sql\compiler.py", line 848, in execute_sql 
cursor.execute(sql, params) 
File "C:\Users\User\Desktop\newsite\lib\site-packages\django\db\backends\utils.py", line 79, in execute 
return super(CursorDebugWrapper, self).execute(sql, params) 
File "C:\Users\User\Desktop\newsite\lib\site-packages\django\db\backends\utils.py", line 64, in execute 
return self.cursor.execute(sql, params) 
File "C:\Users\User\Desktop\newsite\lib\site-packages\django\db\utils.py", line 95, in __exit__ 
six.reraise(dj_exc_type, dj_exc_value, traceback) 
File "C:\Users\User\Desktop\newsite\lib\site-packages\django\db\backends\utils.py", line 64, in execute 
return self.cursor.execute(sql, params) 
File "C:\Users\User\Desktop\newsite\lib\site-packages\django\db\backends\sqlite3\base.py", line 323, in execute 
return Database.Cursor.execute(self, query, params) 
django.db.utils.OperationalError: no such table: accounts_customuser 

編集#2

私のPostViewSetに問題がありますか?以前は複雑なクエリを実行したことがないので、正しい構文かどうかはわかりません。私はこの問題は、URLの設定がロードされ、テーブルも作成されている前に、ビューをインポートしたとき、あなたのCustomUser.objects.get(pk=1)クエリが実行されていることであるhere

class PostViewSet(ModelViewSet): 
    some_user = CustomUser.objects.get(pk=1) 
    queryset = Post.objects.filter(
    Q(poster=some_user) | 
    Q(poster__friends__creator=some_user) | 
    Q(poster__friendship_creator__friend=some_user)).distinct() 
    serializer_class = PostSerializer 
+0

'makemigrations'その後、**' migrate' ** –

+3

移行がでこの出来事である完全なトレースバック – Alasdair

+0

を表示してください?おそらく、アカウントに依存関係を追加する必要があります。 –

答えて

1

からこれを得ました。これを解決するには、コードをget_querysetメソッドに移動します。

class PostViewSet(ModelViewSet): 
    def get_queryset(self): 
     some_user = CustomUser.objects.get(pk=1) 
     return Post.objects.filter(
      Q(poster=some_user) | 
      Q(poster__friends__creator=some_user) | 
      Q(poster__friendship_creator__friend=some_user)).distinct() 
    serializer_class = PostSerializer 
+1

あなたは男です。 _AssertionError: 'base_name'引数が指定されておらず、' .queryset'属性を持たないため、ビューセットから名前を自動的に判別できませんでしたが、単にbase_nameを私のurl ** router.register(r'posts '、PostViewSet、' Post ')**はそれを解決しました。 – ngx311

関連する問題