django 질문드려요.


django 질문입니다.이전질문 이어서 질문드립니다.

    class Apply(models.Model):
    writer=models.ForeignKey(Register, on_delete=models.CASCADE,null=True)

출력이미지

모델에서 ForeignKey를 이용해서 접수 모델을 작성하였는데요. ID를 선택형으로 나오네요. 아이디가 많을 수록 writer의 선택 id가 많네요. 제가 만들고 싶은것은 A라는 아이디로 작성을 하면 작성 모델의 A라는 회원 정보가 자동으로 작성모델의 저장되길 바라는데 지금은 아이디를 선택하는 형태로 form이 저장되어있는데 바꿀 수 없을까요?

  • 2016년 05월 16일에 작성됨

조회수 221


1 답변


좋아요
0
싫어요
채택취소하기

폼에서 입력받지 않으려면 exclude를 이용하세요.

class SomeForm(ModelForm):
    class Meta:
        model = Apply
        exclude = ['writer']

그리고 form의 save를 override해서 거기에서 id를 가지고 저장하면 됩니다.

    class Meta:
            model = Apply
            exclude = ['registereturn']
    def save(self, commit=True):
        Apply = super(ApplyForm, self).save(commit=False)
        if commit:
            Apply.register=Register.objects.get(id=1)
            Apply.save()
        return Apply
  • 2016년 05월 18일에 수정됨
    루비와 파이썬을 좋아합니다. 새로운 언어를 배우는것도 좋아해요. 모바일 게임도 조금 만들어 봤습니다.
  • 2016년 05월 16일에 작성됨
    루비와 파이썬을 좋아합니다. 새로운 언어를 배우는것도 좋아해요. 모바일 게임도 조금 만들어 봤습니다.

  • def save(self, commit=True): Apply = super(ApplyForm, self).save(commit=False) if commit: Apply.register=Register.objects.get(id=1) Apply.save() return Apply    고요한   2016.5.18 17:32     
  • 편집요청 주신 부분이 맞지 않나요? id=1대신에 사용자의 id를 넣기만 하면 될 것 같습니다.    정두식   2016.5.18 19:46     
  • 오류는 안나지만 안됩니다 ㅜ.ㅜ     고요한   2016.5.19 11:53     

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close