• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

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

19.05.02 19:33 작성 조회수 138

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