from datetime import datetime, timezone from django.contrib.auth import get_user_model from django.core.management.base import BaseCommand from django.contrib.auth.hashers import make_password from workshops.models import Venue, Workshop class Command(BaseCommand): help = "Add fictional workshop fixtures without deleting existing rows" def handle(self, *args, **options): river, _ = Venue.objects.get_or_create(code="river-hall", defaults={"name":"River Hall"}) roof, _ = Venue.objects.get_or_create(code="roof-room", defaults={"name":"Roof Room"}) rows = [ ("lamp-care", "Lamp care", river, 8, 7, True, 4), ("bike-punctures", "Bike punctures", river, 4, 4, True, 5), ("wood-joints", "Wood joints", roof, 6, 6, False, 6), ] for slug, title, venue, capacity, remaining, published, day in rows: Workshop.objects.get_or_create(slug=slug, defaults={"title":title, "venue":venue, "capacity":capacity, "remaining":remaining, "published":published, "starts_at":datetime(2026, 11, day, 9, tzinfo=timezone.utc)}) for name in ["alex", "jay"]: get_user_model().objects.get_or_create(username=name, defaults={"password":make_password(None)}) self.stdout.write("Fictional lab data ready")