장고에서 

생성 시점의 시간을 기록하기 위해서는 2가지 방법이 있다.

(생성 시점 field를 reg_time)이라고 하자

첫 번째

class Post(models.model):
    reg_time = models.DateTimeField(auto_now_add=True)

 

두 번째

import datetime
class Post(models.model):
    reg_time = models.DateTimeField(default=datetime.datetime.now)

 

위와 같이 2가지 방법으로 reg_time을 설정해줄 수 있다.

추가 : 

여기서 default=datetime.datetime.now()를 하게 되면

함수를 실행시켜서 반환하는 값을 전달하게 되므로, 제대로 값이 전달 될 수 없다.

 

참고 : 

[python-장고 날짜 시간 문제 (default = datetime.now ())](https://stackoverflow.com/questions/2771676/django-datetime-issues-default-datetime-now)

 

추가 이슈 : 

실제 고객이 사용하고 있는 서비스(DB)에서 reg_time을 모델에 추가해주려고 할 때,

일단 db에서 먼저 migrate를 해주게 되면, 해당 DB를 생성할 때 아직 모델에 해당 reg_time을 어떻게 넣어라는 내용이 없으므로

"Field 'reg_time' doesn't have a default value") 라는 에러가 생긴다.

그럼 먼저 API 서버에 코드를 먼저 배포해주면, reg_time이라는 필드가 DB에 생성되지 못해서 에러가 발생한다....

어떻게 해야할지 고민이다.

 

+ Recent posts