django 에서 id를 만들때

조회수 2784회

안녕하세요 장고 model필드를 정의할때 primary key를 정의하고 id = models.IntegerField() 로 정의를 했을때 AutoField처럼 아이디 번호가 row마다 자동 증가하게끔 만드는 방법이 있을까요??

  • AutoField를 쓰지 말아야 하는 이유가 있나요? 허대영(Daeyoung Heo) 2016.10.18 17:27
  • 네 mysql에서 다대다 조인 테이블을 만들었는데요. 그 테이블에 외래키로 쓸 pk를 id가 아닌 다른 필드로 지정했습니다. Jinwithyoo 2016.10.19 02:48

1 답변

  • 좋아요

    1

    싫어요
    채택 취소하기

    Django는 참고로 모델 생성시 id 필드를 자동으로 생성해줍니다. 굳이 model안에 id 필드를 안 만드셔도 migrate 하시고 나면 모델명.id로 사용 가능합니다.

    만드신다면

    id = models.AutoField(primary_key=True)
    

    을 사용하셔도 되구

    class Users(models.Model):
        something = models.PositiveIntergerField(unique=True, default=number)
    
        def number(self):
            num = Users.objects.count()
            if num == None:
                return 1
            else:
                return num + 1
    

    으로 하셔도 됩니다.

답변을 하려면 로그인이 필요합니다.

Hashcode는 개발자들을 위한 무료 QnA 사이트입니다. 계정을 생성하셔야만 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 계정을 생성하셔야만 글을 작성하실 수 있습니다.