라벨이 graphql인 게시물 표시

Graphene-django 정리

1. Model의 related_name으로 가져오려면   예를 들어 ItemModel과 SubItemModel 모델이 있고 SubItemModel에서 item = models.ForeignKey(ItemModel, related_name='SubItems')  처럼 정의했다면, schema에서 SubItem(이름은 상관없다. 모델을 Query 클래스에서 가져오기 위한 클래스)을 만들어야 Item 안에서 related_name으로 찾아올 수 있다. 실제로 SubItem을 Query 클래스에서 사용하지 않아도 만들어야 한다. 2. Self reference   schema의 어떤 클래스에서 같은 클래스를 리턴하는 쿼리는 사용할 수 없다. 같은 클래스를 리턴하고 싶다면 같은 모델을 참조하는 다른 클래스를 만들어야 한다. 예를 들면 이렇다. class Item(DjangoObjectType):   class Meta:     model = ItemModel   children = graphene.List(_Item)    # children = graphene.List(Item)은 안된다.      resolve_children(self, info, **kwargs):     return ... class _Item(DjangoObjectType):   class Meta:     model = ItemModel 3. graphene.JSONString 타입과 한글   리턴 타입이면 리턴 시 자동으로 json.dumps를 해주고 인자로 받을때는 자동으로 json.loads를 해준다. 인자로 받을 때는 잘 모르겠는데 리턴할 때 한글이 포함되어 있으면 깨진다. 따라서 리턴 타입을 graphene.String으로 하고 수동으로 json.d...