안녕하세요 :'( Django, Json 관련하여 질문이있습니다. db에 있는 정보들을

 
A Young Adelina Lee

안녕하세요 😥 Django, Json 관련하여 질문이있습니다.
db에 있는 정보들을 json으로 변환하여 보내는데, 이때 가져오는 튜플 여러개이며, 갯수가 정해져 있지 않습니다. filter를 걸어주는 것에 따라서 나오는 갯수가 다릅니다.

이런 경우, data = [{a1:a1, b1:b1}, {a2:a2, b2:b2}, …. ] 이런식으로 변환할때 어떻게 해주어야 할까요? 객체가 몇개가 나올 지는 모르는 상황입니다.

이때 객체를 str로 따로따로 분해 하지 않고, 여러개의 객체 집합 자체를 json으로 변환할 수 있을까요???
아니면 아예 다른 방법을 사용하여 정보를 넘겨야 할까요???

  • Joonsung Lee

    보통은 Model에 serialize function을 구현하여 쓰거나 별도 Serializer class를 만들어서 사용합니다.

    Joonsung Lee

    https://docs.djangoproject.com/en/dev/topics/serialization/ 이 문서를 보시면 좀 도움이 되실까요…?

    Hyunil Kim

    jsonpickle 이라는 모듈 써보세요.

    Hyunil Kim

    아니면

    import json
    import django.forms.models.model_to_dict

    json_str = json.dumps(model_to_dict(model))

    Jae Lee

    혹시 REST API 설계하신다면 http://www.django-rest-framework.org/ 참고해보세요. 모델만 Serializer 안에 넣어주면 자동으로 serialization 처리해 줍니다.

    Hyunil Kim

    json.dumps([model_to_dict(x) for x in models]) 하시면 한줄로 처리되요.

    A Young Adelina Lee

    이준성 감사합니다 🙂 참고해서 구현해 보도록 할게요!

    A Young Adelina Lee

    김현일 감사합니다!!!! model_to_dict 유용하게 사용할수 있을것 같습니다!! 감사해요!!!!

    A Young Adelina Lee

    강성진 감사합니다@@!!! 제일 심플한 방법인것 같아요!!

    A Young Adelina Lee

    이일재 REST.. 생소한 이름이네요! 알아볼게요~ 감사합니다!!!

    A Young Adelina Lee

    for문과 model_to_dict 으로 해결했습니다!! 감사합니다~~~

Advertisements