django 질문드려요.
조회수 1697회
django 질문입니다.이전질문 이어서 질문드립니다.
class Apply(models.Model):
writer=models.ForeignKey(Register, on_delete=models.CASCADE,null=True)
모델에서 ForeignKey를 이용해서 접수 모델을 작성하였는데요. ID를 선택형으로 나오네요. 아이디가 많을 수록 writer의 선택 id가 많네요. 제가 만들고 싶은것은 A라는 아이디로 작성을 하면 작성 모델의 A라는 회원 정보가 자동으로 작성모델의 저장되길 바라는데 지금은 아이디를 선택하는 형태로 form이 저장되어있는데 바꿀 수 없을까요?
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
폼에서 입력받지 않으려면 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
- 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
댓글 입력