Django GraphQL Simple ToDo
HOW TO RUN
just run the following instructions:
python -m venv venv
pip install -r requirements.txt
source venv/bin/activate
chmod 777 remove_migrations.sh
./remove_migrations.sh
python manage.py runserver
the output should be something like this:
System check identified 1 issue (0 silenced).
November 12, 2021 - 13:38:31
Django version 3.2.9, using settings 'DjangoGraphQLToDoListApplication.settings'
Starting development server at
Quit the server with CONTROL-C.
Usage
just go to http://127.0.0.1:8000/
then,
Test Queries and Mutations
fetching all users:
query {
users {
id
username
}
}
create a new user:
mutation {
userCreate(username: "alice", email: "[email protected]", password:"password") {
user {
id
username
email
dateJoined
}
}
}
Login
mutation {
tokenAuth(username: "your user name", password: "your password") {
token
payload
refreshExpiresIn
}
}
currentUser
query{
currentUser{
id
}
}
users
query{
users{
id
}
}
user Create Todo
mutation {
userCreateTodo(title: "alice") {
todo {
id
title
}
}
}
user update Todo state
mutation {
userUpdateTodoState(id:17, state: "done") {
todo {
id
title
}
}
}
user delete Todo
mutation {
userDeleteTodo(id:17) {
todo {
id
title
}
}
}
Filtering
query {
todos(title_Icontains: "e", state: "in-progress") {
edges {
node {
title
}
}
}
}