2015-02-01 2 views
0

django에서 SQLite로 모델을 동기화하려고합니다. 나는 여기에 실수로 들어갔다. 나는 길을 찾지 못했다. 데이터베이스 파일을 하드 삭제하고 내 models.py의 모든 것을 주석 처리했습니다. 그러나 여전히 manage.py는 모든 마이그레이션, 마이그레이션 또는 syncdd를 수행하지 않습니다. 여기에 다시 오류 추적 있습니다 :Django manage.py syncdb : 예상되는 문자열 또는 버퍼가 맞습니까?

>> python2.7 manage.py syncdb 
Operations to perform: 
    Apply all migrations: admin, contenttypes, sessions, auth, database 
Running migrations: 
    Applying contenttypes.0001_initial... OK 
    Applying auth.0001_initial... OK 
    Applying admin.0001_initial... OK 
    Applying database.0001_initial... OK 
    Applying database.0002_userinfo... OK 
    Applying database.0003_auto_20150201_0402...Traceback (most recent call last): 
    File "manage.py", line 10, in <module> 
    execute_from_command_line(sys.argv) 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 385, in execute_from_command_line 
    utility.execute() 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 377, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 288, in run_from_argv 
    self.execute(*args, **options.__dict__) 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 338, in execute 
    output = self.handle(*args, **options) 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 533, in handle 
    return self.handle_noargs(**options) 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/commands/syncdb.py", line 27, in handle_noargs 
    call_command("migrate", **options) 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 115, in call_command 
    return klass.execute(*args, **defaults) 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 338, in execute 
    output = self.handle(*args, **options) 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/commands/migrate.py", line 161, in handle 
    executor.migrate(targets, plan, fake=options.get("fake", False)) 
    File "/usr/local/lib/python2.7/dist-packages/django/db/migrations/executor.py", line 68, in migrate 
    self.apply_migration(migration, fake=fake) 
    File "/usr/local/lib/python2.7/dist-packages/django/db/migrations/executor.py", line 102, in apply_migration 
    migration.apply(project_state, schema_editor) 
    File "/usr/local/lib/python2.7/dist-packages/django/db/migrations/migration.py", line 108, in apply 
    operation.database_forwards(self.app_label, schema_editor, project_state, new_state) 
    File "/usr/local/lib/python2.7/dist-packages/django/db/migrations/operations/fields.py", line 37, in database_forwards 
    field, 
    File "/usr/local/lib/python2.7/dist-packages/django/db/backends/sqlite3/schema.py", line 176, in add_field 
    self._remake_table(model, create_fields=[field]) 
    File "/usr/local/lib/python2.7/dist-packages/django/db/backends/sqlite3/schema.py", line 74, in _remake_table 
    self.effective_default(field) 
    File "/usr/local/lib/python2.7/dist-packages/django/db/backends/schema.py", line 187, in effective_default 
    default = field.get_db_prep_save(default, self.connection) 
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/__init__.py", line 627, in get_db_prep_save 
    prepared=False) 
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/__init__.py", line 1176, in get_db_prep_value 
    value = self.get_prep_value(value) 
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/__init__.py", line 1171, in get_prep_value 
    return self.to_python(value) 
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/__init__.py", line 1128, in to_python 
    parsed = parse_date(value) 
    File "/usr/local/lib/python2.7/dist-packages/django/utils/dateparse.py", line 37, in parse_date 
    match = date_re.match(value) 
TypeError: expected string or buffer 

답변

1

그래서, 트릭가 데이터베이스 파일을 삭제입니다 충분하지 않습니다 : 마이그레이션 프로세스가 응용 프로그램에서 [이전] 디렉토리에 일부 파일을 만듭니다. 내가 도울 다른 디렉토리에 모든 파일을 이동하지만 충분한 것으로 보이지 않았다 : 나는 또한 3 개 작업에 정확한 앱의 이름을했다 : 모든 것을 삭제 (데이터베이스 파일로

1) python manage.py makemigrations APP-NAME 
2) python manage.py migrate  APP-NAME 
3) python manage.py syncdb 

+ 마이그레이션 기록) 및 3 가지 작업을 적용하면 새로운 데이터베이스를 다시 사용할 수 있습니다!

+0

APP-NAME은 선택 사항입니다. 이를 사용하지 않고 설치된 모든 앱의 변경 사항을 확인할 수 있습니다. –

관련 문제