본문 바로가기

etc

유저 모델링 실수 (migrations history error)

@마크다운


Django에서 유저 모델을 생성 후makemigrations를 하고 난 다음에

AUTH_USER_MODEL = 'appname.classname'을 지정을 했다.


 

데이터베이스에 유저모델이 이미 생긴 후에 AUTH_USER_MODEL을 지정하고 migrations를 하니 히스토리가 맞지 않아서 에러를 뿜어냈다.

3시간의 삽질 후 결국 데이터베이스의 Table을 지우는 방향으로 가닥을 잡았다.


데이터베이스를 초기화 시킨후에는 에러를 뿜어내지않았다.



로컬에서는 sqlite 서버에서는 postgres를 사용했는데 로컬에서는 에러를 리턴하지 않았지만 서버에서는 에러를 리턴했다.



데이터베이스를 지우는 방법은 좋은방법이 아니지만 일단은 해결을 해야하기에 지웠다.



추후 찾아보니 프록시모델을 사용하면 된다고 하던데..


```

class MyPerson(Person):

    class Meta:

        proxy = True

```

이런식으로 사용하면 된다고 한다.


> proxy 모델이 원본모델과 다른 점은 기본 정렬값과 같은 설정값을 원하는 데로 변경할 수 있다는 점입니다. 물론 원본 모델의 설정값은 변경되지 않습니다.


나중에 위의에러를 상정하여 다시한번 실험해 봐야겠다.


[django proxy문서](https://docs.djangoproject.com/ko/1.11/topics/db/models/#proxy-models)



'etc' 카테고리의 다른 글

django 예약기능  (2) 2017.09.12
AWS Route53 설정하기  (0) 2017.09.08
Login 시나리오  (1) 2017.08.29
HTTP가 무엇인가?  (0) 2017.08.29
REST가 무엇인가?  (0) 2017.08.29