form 관련 문제 [해결]

linklingj

2024.08.13 0

게시판 기능을 추가하면서 글 작성할 때 게시판을 선택하게끔 하는 기능을 넣으려고 했다.
게시판 선택은 html의 select로 하려고 했는데 문제가 생겼다.
question_form에서 있는 게시판을 표시하는데까지는 성공했는데
글 작성을 하려고 하면 invalid form으로 인식해서:Select a valid choice. That choice is not one of the available choices. 이렇게 떴다.
html에서 선택된 option을 다른 인자로 어떻게 전달해야 할까? js를 써서 해결해야 할까?

댓글 (1)
linklingj

2024.08.13 0

form.py 파일을 고쳐서 해결했다. 원래 form의 field에 단순히 'category'를 추가해서 썼는데 문제가 Question 모델의 category는 카테고리 모델 쿼리를 인자로 하는데 계속 카테고리 이름 string을 보내주고 있었던거다.
다음과 같은 코드를 추가해서 해결했다:

category = forms.ModelChoiceField(
        queryset=Category.objects.all(),
        to_field_name='link_name',
        required=True
    )