create a virtual environment
python3 -m venv './venv'
activate it
source venv/bin/activate.fish
initialize a poetry project
poetry init
install django
and hte latest version of djongo
as well as graphene-django
poetry add django
poetry add git+ssh://git@github.com:nesdis/djongo.git
poetry add graphene-django
create a django project with
django-admin startproject app .
create a new tracks
app
python manage.py startapp tracks
define your model, then include your app in settings and make migrations
python manage.py makemigrations
python manage.py migrate
spin up the server
python manage.py runserver 0:4000
pull mongo
image
docker pull mongo
start mongo instance
docker run -it -v mongodata:/data/db -p 27017:27017 --name mongodb -d mongo
double check, that it is running
docker ps
check logs if necessary
docker logs mongodb -f
check into container
docker exec -it mongodb bash
connect to mongo, simply by running mongo
mongo -host localhost -port 27017
stop or start container
docker stop mongodb
# or
docker start mongodb
If you prefer some gui data visualization, than you can install MongoDB Compass
sudo dpkg -i ~/Downloads/mongodb-compass_1.26.0_amd64.deb
open up django shell
python manage.py shell
create new data
from tracks.models import Track
track1 = Track(title='Track 1', description='Track 1 description', url='https://localhost/track1')
track1.save()
# or
track2 = Track.objects.create(title='Track 2', description='Track 2 description', url='https://localhost/track2')
export data from app's database
python manage.py dumpdata --indent 2 tracks > tracks/fixtures/tracks.json
Load data based on matching fixture file name tracks.json
python manage.py loaddata tracks
from django.contrib.auth.models import User
user=User.objects.create_user('foo', password='bar')
user.is_superuser=True
user.is_staff=True
user.save()
python manage.py createsuperuser