An open API service indexing awesome lists of open source software.

https://github.com/jottenlips/django-polls-graphene

๐Ÿ“Š Django Polls App with Graphene, Relay, and Dataloaders
https://github.com/jottenlips/django-polls-graphene

dataloaders demo django django-graphql example graphene graphene-django graphene-django-polls graphql graphql-server nplus1 polls python relay

Last synced: 2 months ago
JSON representation

๐Ÿ“Š Django Polls App with Graphene, Relay, and Dataloaders

Awesome Lists containing this project

README

          

# Django Polls GraphQL ๐Ÿ“Š

This is a Django GraphQL App based on the Django Polls tutorial.
I made this to experiment ๐Ÿงช with dataloaders and the relay pattern.

## Run locally

Install Pipenv

https://pypi.org/project/pipenv/

`pipenv install`

`cd django_graphene_data_loaders_demo`

`pipenv run python manage.py migrate`

`pipenv run python manage.py createsuperuser`

Go to the Django admin, login, and add your questions and choices. `localhost:8000/admin`

`pipenv run python manage.py runserver`

## Query

Resolve question uses a dataloader for efficient querying.

```
{
choices {
edges {
node {
id
choiceText
votes
question {
id
questionText
}
}
}
}
# Debug your SQL
_debug {
sql {
rawSql
}
}
}

```

## Mutation

```
mutation Vote($question: ID, $choice: ID) {
vote(questionGlobalId: $question, choiceGlobalId: $choice){
question {
id
choiceSet {
edges {
node {
id
votes
}
}
}
}
}
}
```

TODO:

[] Frontend CRNA / Apollo

[] Add auth and user types