from django.core.management.base import BaseCommand from app.models import * class Command(BaseCommand): help = 'Add test data' # def add_arguments(self, parser): #parser.add_argument('--username', type=str, required=True) def handle(self, *args, **options): currency, created = Currency.objects.get_or_create(defaults= { "slug": "CHF", "name": "Swiss Franc", "short_name": "CHF" }) for timeframe in [ (3600, "1 hour", "1-hour"), (86400, "1 day", "1-day"), (7*86400, "7 days", "7-days"), (30*86400, "30 days", "30-days"), (365*86400, "365 days", "365 days") ]: TimeFrame.objects.get_or_create(slug=timeframe[2], defaults= { "name": timeframe[1], "seconds": timeframe[0] }) for ppt in [ ("1-day", 1, currency), ("1-day", 2, currency), ("30-days", 10, currency), # Nextcloud ("30-days", 15, currency), # Gitea ("30-days", 35, currency), # Matrix ("30-days", 29, currency), ("30-days", 55, currency) ]: tf = TimeFrame.objects.get(slug=ppt[0]) PricePerTime.objects.get_or_create(timeframe=tf, value=ppt[1], defaults= { "currency": currency }) for res in [ ("cpu-1", "CPU", "Core(s)", None, None), ("cpu-min-max", "CPU", "Core(s)", 1, 20), ("ram-1", "RAM", "GB", None, None), ("ram-min-max", "RAM", "GB", 1, 200), ("matrix-maintenance", "Matrix Maintenance Fee", "", 1, 1), ("nextcloud-maintenance", "Nextcloud Maintenance Fee", "", 1, 1), ("gitea-maintenance", "Gitea Maintenance Fee", "", 1, 1), ]: Resource.objects.get_or_create(slug=res[0], defaults= { "name": res[1], "unit": res[2], "minimum_units": res[3], "maximum_units": res[4] }) # Link to PPT -- later # for ppt_res in res[5]: # ppt = PricePerTime.objects.get( for product in [ ("matrix", "Matrix"), ("nextcloud", "Nextcloud"), ("gitea", "Gitea") ]: Product.objects.get_or_create(slug=product[0], defaults = { "name": product[1] })