# Generated by Django 5.2.17 on 2026-08-10 12:00 import django.db.models.deletion from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ ] operations = [ migrations.CreateModel( name='FamilyLink', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('parent_user_id', models.IntegerField(db_index=True)), ('child_user_id', models.IntegerField(blank=True, db_index=True, null=True)), ('child_phone', models.CharField(blank=True, max_length=15)), ('invite_code', models.CharField(max_length=10, unique=True)), ('status', models.CharField(choices=[('pending', 'در انتظار'), ('accepted', 'پذیرفته‌شده')], default='pending', max_length=10)), ('invited_at', models.DateTimeField(auto_now_add=True)), ('accepted_at', models.DateTimeField(blank=True, null=True)), ], options={ 'ordering': ['-invited_at'], }, ), migrations.CreateModel( name='ParentalSettings', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('daily_limit_minutes', models.PositiveIntegerField(default=60)), ('quiet_hours_start', models.TimeField(blank=True, null=True)), ('quiet_hours_end', models.TimeField(blank=True, null=True)), ('family_link', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='settings', to='family.familylink')), ], ), migrations.CreateModel( name='WeeklyReportLog', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('week_start', models.DateField()), ('sent_at', models.DateTimeField(blank=True, null=True)), ('opened_at', models.DateTimeField(blank=True, null=True)), ('family_link', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='weekly_reports', to='family.familylink')), ], options={ 'ordering': ['-week_start'], 'unique_together': {('family_link', 'week_start')}, }, ), ]