강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

Dong Kyun Kang님의 프로필 이미지
Dong Kyun Kang

작성한 질문수

Vue.js - Django 연동 웹 프로그래밍

Django - get. JsonResponse 코딩 하기

속성이 외래키일 경우는 어떻게 해야할지 궁금합니다.

작성

·

266

0

예를 들어 속성이 외래키인 경우에 listview를 통해 응답을 받게 되면 외래키인 속성에 대한 username가 올줄 알았는데 user_id = pk 가 와서요.. 그래서 vue에서 접근해주고 싶지만 django와 달리 뷰에서는 테이블 참조가 안되닌까 django에서 해줘야할 것같은데 응답을 user_id가 아니라 user_name 그리고 category_id가 아니라 category_name을 주고싶은데 잘 안되고 있네요... 

답변 1

0

김석훈님의 프로필 이미지
김석훈
지식공유자

django 의 views.py 파일에서 해 줘야 합니다.

views.py 파일에 아래 함수를 정의하고, (함수는 예시이니, 적절하게 변경하면 됩니다.)

def render_to_response() 메소드에서, 아래 함수를 호출해 보세요.

===========================================

def obj_to_post(obj):

    post = model_to_dict(obj)

    if obj.user:

        post['owner'] = obj.user.username

    else:

        post['owner'] = 'default-name'

    if obj.category:

        post['category'] = obj.category.name

    else:

        post['category'] = 'default-category'

    return post

Dong Kyun Kang님의 프로필 이미지
Dong Kyun Kang

작성한 질문수

질문하기