데이터 분석 기술 블로그

DB에 대하여(7)_Article & User 게시글 CREATE (feat. Django) 본문

DB

DB에 대하여(7)_Article & User 게시글 CREATE (feat. Django)

데이터분석가 이채은 2024. 4. 23. 22:37

게시글 CREATE

기존 Article Form 출력 변화를 확인합니다.

User 모델에 대한 외래 키 데이터 입력을 위해 불필요한 input이 출력됩니다.


ArticleForm 출력 필드를 수정합니다.

# articles/forms.py

class ArticleForm(forms.ModelForm):

    class Meta:
        model = Article
        fields = ('title', 'content',)

게시글 작성 시 에러 발생가 발생하면 user_id 필드 데이터가 누락되었기 때문입니다.


게시글 작성 시 작성자 정보가 함께 저장될 수 있도록 save의 commit 옵션을 활용합니다.

# articles/views.py

@login_required
def create(request):
    if request.method == 'POST':
        form = ArticleForm(request.POST)
        if form.is_valid():
            article = form.save(commit=False)
            article.user = request.user
            article.save()
            return redirect('articles:detail', article.pk)
        else:
            ...

게시글 작성 후 테이블을 확인합니다.