컴퓨터 공부 ver 0.1/Django

TypeError: int() argument must be a string or a number, not 'datetime.datetime' 에러 메시지 출력되면

fromleaf 2016. 5. 11. 17:41
반응형

migrate 중에 아래 처럼 에러 메시지가 뜨면?

[heoyun@fromleaf.mypage]$ manage migrate

Operations to perform:
Apply all migrations: admin, contenttypes, darly, fromleaf_common, fromleaf_aboutme, auth, sessions
Running migrations:
Applying fromleaf_common.0004_auto_20160329_1600...Traceback (most recent call last):
File "manage.py", line 10, in <module>
……
……
File "/usr/local/var/pyenv/versions/env-3.4.1/lib/python3.4/site-packages/django/db/models/fields/__init__.py", line 968, in get_db_prep_value
value = self.get_prep_value(value)
File "/usr/local/var/pyenv/versions/env-3.4.1/lib/python3.4/site-packages/django/db/models/fields/__init__.py", line 976, in get_prep_value
return int(value)
TypeError: int() argument must be a string or a number, not 'datetime.datetime'


  • 만약 db.sqlite3 중요한 자료가 저장되어있다면 해당 파일 백업해놓는다
  • 모든 App 폴더의 migrations 폴더 안의 __init__.py 파일을 제외하고 모두 삭제한다.
  • manage migrate 한다. 그러면 해결될 것이다.
왜 그런지는 찾아봐야 할 듯 하다. 보통 DateTimeField(auto_now_add=True)을 model 객체에 추가 한 후, makemigrations를 진행하면 추가한 Date필드에 현재 시간을 임의로 넣는데 그 다음에 migrate명령어를 실행하면 TypeError가 발생한다.
시간 값이 잘못된건가???


반응형