Files
rising-web/backend/api/migrations/0001_initial.py
abhishekpythons a16520420d adding details
2026-05-19 04:38:02 +05:30

127 lines
7.5 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Generated by Django 5.0.6
import django.utils.timezone
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = []
operations = [
migrations.CreateModel(
name='BlogPost',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('slug', models.SlugField(max_length=200, unique=True)),
('title', models.CharField(max_length=200)),
('excerpt', models.CharField(max_length=300)),
('body', models.TextField(help_text='Markdown.')),
('category', models.CharField(choices=[('ai', 'AI'), ('space', 'Space'), ('robotics', 'Robotics'), ('engineering', 'Engineering'), ('company', 'Company')], default='company', max_length=20)),
('author_name', models.CharField(max_length=120)),
('read_time_minutes', models.PositiveIntegerField(default=5)),
('cover_image_url', models.URLField(blank=True)),
('is_published', models.BooleanField(default=True)),
('published_at', models.DateTimeField(default=django.utils.timezone.now)),
('created_at', models.DateTimeField(auto_now_add=True)),
('updated_at', models.DateTimeField(auto_now=True)),
],
options={'ordering': ['-published_at']},
),
migrations.CreateModel(
name='ContactSubmission',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=120)),
('email', models.EmailField(max_length=254)),
('company', models.CharField(blank=True, max_length=160)),
('role', models.CharField(blank=True, max_length=120)),
('country', models.CharField(blank=True, max_length=80)),
('interest', models.CharField(choices=[('ai-ip', 'AI Inference IP'), ('security-ip', 'Cybersecurity IP'), ('comms-ip', 'Communication IP'), ('custom-asic', 'Custom ASIC'), ('careers', 'Careers'), ('press', 'Press'), ('other', 'Other')], default='other', max_length=20)),
('message', models.TextField()),
('referrer', models.CharField(blank=True, max_length=200)),
('user_agent', models.CharField(blank=True, max_length=400)),
('ip_address', models.GenericIPAddressField(blank=True, null=True)),
('created_at', models.DateTimeField(auto_now_add=True)),
],
options={'verbose_name': 'Contact submission', 'ordering': ['-created_at']},
),
migrations.CreateModel(
name='Founder',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=120)),
('role', models.CharField(max_length=160)),
('domain', models.CharField(help_text='Short description of the technical domain they own.', max_length=240)),
('bio', models.TextField(help_text='~80-word bio. Markdown allowed.')),
('photo_url', models.URLField(blank=True)),
('linkedin_url', models.URLField(blank=True)),
('sort_order', models.PositiveIntegerField(default=0)),
('is_published', models.BooleanField(default=True)),
],
options={'ordering': ['sort_order', 'name']},
),
migrations.CreateModel(
name='JobApplication',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=120)),
('email', models.EmailField(max_length=254)),
('role_applied_for', models.CharField(max_length=160)),
('portfolio_url', models.URLField(blank=True)),
('message', models.TextField(blank=True)),
('cv', models.FileField(blank=True, null=True, upload_to='applications/%Y/%m/')),
('created_at', models.DateTimeField(auto_now_add=True)),
],
options={'ordering': ['-created_at']},
),
migrations.CreateModel(
name='JobOpening',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('slug', models.SlugField(max_length=120, unique=True)),
('title', models.CharField(max_length=160)),
('location', models.CharField(choices=[('surat', 'Surat, India'), ('iist', 'STIIC / IIST, Thiruvananthapuram'), ('remote', 'Remote (India)'), ('hybrid', 'Hybrid')], default='surat', max_length=20)),
('employment_type', models.CharField(default='Full-time', max_length=40)),
('description', models.TextField(help_text='Markdown.')),
('is_open', models.BooleanField(default=True)),
('posted_at', models.DateField(default=django.utils.timezone.now)),
],
options={'ordering': ['-posted_at']},
),
migrations.CreateModel(
name='NewsletterSignup',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('email', models.EmailField(max_length=254, unique=True)),
('source', models.CharField(blank=True, help_text='e.g. footer, blog, contact', max_length=120)),
('confirmed', models.BooleanField(default=False)),
('created_at', models.DateTimeField(auto_now_add=True)),
],
options={'ordering': ['-created_at']},
),
migrations.CreateModel(
name='Product',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('slug', models.SlugField(max_length=80, unique=True)),
('name', models.CharField(max_length=120)),
('category', models.CharField(choices=[('ai', 'AI Inference'), ('security', 'Cybersecurity'), ('comms', 'Communication Protocol'), ('asic', 'Custom ASIC Services'), ('other', 'Other')], max_length=20)),
('tagline', models.CharField(max_length=200)),
('summary', models.TextField(help_text='23 sentence overview shown on the products grid.')),
('description', models.TextField(help_text='Long-form description shown on the product detail page (markdown).')),
('benefits', models.JSONField(blank=True, default=list, help_text='List of benefit strings. Example: ["High throughput per watt", "INT8/INT4"].')),
('features', models.JSONField(blank=True, default=list)),
('spec_table', models.JSONField(blank=True, default=list, help_text='List of {"label": "...", "value": "..."} pairs for the spec table.')),
('primary_cta_label', models.CharField(default='Request evaluation', max_length=60)),
('is_published', models.BooleanField(default=True)),
('sort_order', models.PositiveIntegerField(default=0)),
('created_at', models.DateTimeField(auto_now_add=True)),
('updated_at', models.DateTimeField(auto_now=True)),
],
options={'ordering': ['sort_order', 'name']},
),
]