2014-01-23 1 views
0

누군가가 github에서 사용자 계정/인증을 작성한 것을 보았습니다.django 사용자 테이블 - 맞춤형 테이블을 만드는 것이 더 좋습니다?

그가 쓴 이유는 일반 사용자와 관리자 사용자가 테이블을 공유하는 것을 좋아하지 않기 때문이라고 그는 말했다. (그는 사용자 모델을 사용하지 않았다.)

나는 python django에서 새롭다. 그의 방식대로하는 것이 더 낫지 않습니까? 아니면 정말로 필요하지 않습니까?

답변

1

Django는 인증 모델을 제공하기 전에 Django 1.5에서 자신 만의 사용자 모델을 제공 할 수있는 인증 응용 프로그램을 제공했습니다. 모델을 자신의 모델로 바꾸고 필요한 필드를 추가하십시오.

+0

다른 질문 : 프로필 모드를 사용자 모드와 함께 사용하는 많은 예가 있습니다. 파생 된 사용자 모델에 충실하는 것이 더 낫습니까? 하나의 사용자 모델 대신 2 개의 모델을 사용할 때 볼 수있는 유일한 이점은 데이터베이스 크기가 더 작을 수 있다는 것입니다. 왜냐하면 많은 사람들이 프로필을 설정하지 않기 때문에 시스템이 1000 개의 사용자 레코드로 끝나지만 500 개의 프로필 만 남을 수 있기 때문입니다. 기록. – user3108063

+0

@ user3108063 "데이터베이스 크기"에 대해 걱정하지 마십시오. 문제 도메인에 대한 올바른 다중성 및 정규화에 대해 걱정할 필요가 있습니다. – user2864740

+0

Django 1.5 이전에는 사용자 정의 모델을 사용할 수 없었기 때문에 사용자 모델과 사용자를 직접 재정의하는 것이 더 좋습니다. DB 크기의 차이는 무시할 만하지만 사용자 프로필에 대한 지원은 레거시 용도로 남아 있습니다. 그러나 일부 앱 (예 : Django CMS)은 맞춤 사용자 모델과 호환되지 않습니다 (지원이 아직 추가되지 않았습니다). 따라서 현재 호환되지 않는 앱을 ​​사용해야하는 경우 별도의 앱을 사용하는 것 외에 다른 선택의 여지가 없습니다 프로필 모델. – rafaponieman

관련 문제