# Generated by Django 5.2.7 on 2025-10-28 00:14 import django.db.models.deletion from django.conf import settings from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='DownloaderModel', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('url', models.URLField()), ('download_time', models.DateTimeField(auto_now_add=True)), ('status', models.CharField(max_length=50)), ('requested_format', models.CharField(blank=True, db_index=True, max_length=100, null=True)), ('format_id', models.CharField(blank=True, db_index=True, max_length=50, null=True)), ('ext', models.CharField(blank=True, db_index=True, max_length=20, null=True)), ('vcodec', models.CharField(blank=True, db_index=True, max_length=50, null=True)), ('acodec', models.CharField(blank=True, db_index=True, max_length=50, null=True)), ('width', models.IntegerField(blank=True, null=True)), ('height', models.IntegerField(blank=True, null=True)), ('fps', models.FloatField(blank=True, null=True)), ('abr', models.FloatField(blank=True, null=True)), ('vbr', models.FloatField(blank=True, null=True)), ('tbr', models.FloatField(blank=True, null=True)), ('asr', models.IntegerField(blank=True, null=True)), ('filesize', models.BigIntegerField(blank=True, null=True)), ('duration', models.FloatField(blank=True, null=True)), ('title', models.CharField(blank=True, max_length=512, null=True)), ('extractor', models.CharField(blank=True, db_index=True, max_length=100, null=True)), ('extractor_key', models.CharField(blank=True, max_length=100, null=True)), ('video_id', models.CharField(blank=True, db_index=True, max_length=128, null=True)), ('webpage_url', models.URLField(blank=True, null=True)), ('is_audio_only', models.BooleanField(db_index=True, default=False)), ('ip_address', models.GenericIPAddressField(blank=True, null=True)), ('user_agent', models.TextField(blank=True, null=True)), ('error_message', models.TextField(blank=True, null=True)), ('raw_info', models.JSONField(blank=True, null=True)), ('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)), ], options={ 'indexes': [models.Index(fields=['download_time'], name='downloader__downloa_ef522e_idx'), models.Index(fields=['ext', 'is_audio_only'], name='downloader__ext_2aa7af_idx'), models.Index(fields=['requested_format'], name='downloader__request_f4048b_idx'), models.Index(fields=['extractor'], name='downloader__extract_b39777_idx')], }, ), ]