#!/usr/bin/env python """ Script to fix and update the Free plan with proper values. """ import os import django import sys # Setup Django os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'igny8_core.settings') django.setup() from igny8_core.auth.models import Plan from decimal import Decimal def update_free_plan(): """Update the Free plan with proper values and fix JSON fields.""" try: free_plan = Plan.objects.get(slug='free') print(f"Found Free plan: {free_plan.name}") print("Updating values...") # Update free plan values - keeping existing values but fixing JSON fields # Fix JSON fields - use proper Python lists/dicts free_plan.image_model_choices = [] # Empty list for free plan (no image generation) # Ensure features is a proper list (not dict) if isinstance(free_plan.features, dict): free_plan.features = [] elif not isinstance(free_plan.features, list): free_plan.features = [] # Save the plan free_plan.save() print("✅ Successfully updated Free plan!") print(f" - Image Model Choices: {free_plan.image_model_choices}") print(f" - Features: {free_plan.features}") print(f" - Max Sites: {free_plan.max_sites}") print(f" - Max Users: {free_plan.max_users}") print(f" - Max Keywords: {free_plan.max_keywords}") print(f" - Max Clusters: {free_plan.max_clusters}") print(f" - Max Content Ideas: {free_plan.max_content_ideas}") print(f" - Monthly AI Credits: {free_plan.monthly_ai_credit_limit}") print(f" - Daily AI Request Limit: {free_plan.daily_ai_request_limit}") print(f" - Daily Image Generation Limit: {free_plan.daily_image_generation_limit}") except Plan.DoesNotExist: print("❌ Free plan not found!") sys.exit(1) except Exception as e: print(f"❌ Error updating free plan: {e}") import traceback traceback.print_exc() sys.exit(1) if __name__ == '__main__': update_free_plan()