Python Manage.py SyncDB를 실행하려고 할 때 Django의 SyncDB 오류
-
21-12-2019 - |
문제
Django 튜토리얼을 따르는 메신저하지만 삼중은 모든 것을 확인했는데 그 일이없는 것은 내가 얻는 것입니다 .... 나는 무엇을 잘못 했는가?
python manage.py syncdb
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/Volumes/SWEETMEDIA/Development/Python/hackernews/lib/python2.7/site-packages/django/core/management/__init__.py", line 399, in execute_from_command_line
utility.execute()
File "/Volumes/SWEETMEDIA/Development/Python/hackernews/lib/python2.7/site-packages/django/core/management/__init__.py", line 392, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/Volumes/SWEETMEDIA/Development/Python/hackernews/lib/python2.7/site-packages/django/core/management/base.py", line 242, in run_from_argv
self.execute(*args, **options.__dict__)
File "/Volumes/SWEETMEDIA/Development/Python/hackernews/lib/python2.7/site-packages/django/core/management/base.py", line 284, in execute
self.validate()
File "/Volumes/SWEETMEDIA/Development/Python/hackernews/lib/python2.7/site-packages/django/core/management/base.py", line 310, in validate
num_errors = get_validation_errors(s, app)
File "/Volumes/SWEETMEDIA/Development/Python/hackernews/lib/python2.7/site-packages/django/core/management/validation.py", line 34, in get_validation_errors
for (app_name, error) in get_app_errors().items():
File "/Volumes/SWEETMEDIA/Development/Python/hackernews/lib/python2.7/site-packages/django/db/models/loading.py", line 196, in get_app_errors
self._populate()
File "/Volumes/SWEETMEDIA/Development/Python/hackernews/lib/python2.7/site-packages/django/db/models/loading.py", line 75, in _populate
self.load_app(app_name, True)
File "/Volumes/SWEETMEDIA/Development/Python/hackernews/lib/python2.7/site-packages/django/db/models/loading.py", line 99, in load_app
models = import_module('%s.models' % app_name)
File "/Volumes/SWEETMEDIA/Development/Python/hackernews/lib/python2.7/site-packages/django/utils/importlib.py", line 40, in import_module
__import__(name)
File "/Volumes/SWEETMEDIA/Development/Python/hackernews/hn/stories/models.py", line 6, in <module>
(hackernews)
sweetmedia: /Volumes/SweetMedia/Development/Python/hackernews/hn ▸▸▸▹▹▹▹▹▹▹
→
.
이것은 데이터베이스에있는 것입니다
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
.
앱에서 models.py
입니다 stories
는 여기에 뭔가를 가져 오지 않을 것입니다.
from urlparse import urlparse
from django.db import models
from django.contrib.auth.models import User
class Story(models.Model):
title = models.CharField(max_length=200)
url = models.URLField()
points = models.IntergerField()
moderator = models.ForeignKey(User)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
@property
def domain(self):
return urlparse(self.url).netloc
. 해결책 2
중재자 모델에서는 다음과 같습니다.
points = models.IntergerField()
.
및 "inte (r) gerfield"가 존재하지 않습니다!롤 나는 그것을 잘못 입력했습니다.나는 그것을 수정했다 :
points = models.IntegerField()
. 다른 팁
settings.py
이것은 manage.py
를 실행하는 것과 동일한 디렉토리에 생성됩니다.'NAME': 'data.sqlite',
.
이렇게하면 DB
에 대한 파일 이름과 위치가 제공됩니다.'NAME': '/yourpath/mysite/data.sqlite',
.
가장 좋은 것은 절대 경로를
로 전달하는 것입니다.import os
SETTINGS_DIR = os.path.dirname(os.path.abspath(__file__))
.
및 이름으로
'NAME': os.path.join(SETTINGS_DIR, 'data.sqlite'),
. 제휴하지 않습니다 StackOverflow