class Migration(migrations.Migration): initial = True dependencies = [] operations = [ migrations.CreateModel( name='Category', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=255, unique=True)), ], ), migrations.CreateModel( name='File', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=255, unique=True)), ('file_path', models.FileField(upload_to=content.models.content_file_name)), ('data_created', models.DateTimeField(default=django.utils.timezone.now)), ('price', models.BigIntegerField()), ('description', models.TextField(blank=True, null=True)), ('order', models.IntegerField(default=0)), ], options={ 'ordering': ['order'], }, ), migrations.CreateModel( name='Product', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=255, unique=True)), ('price', models.BigIntegerField()), ('created_at', models.DateTimeField(auto_now_add=True)), ('description', models.TextField(blank=True, null=True)), ('categories', models.ManyToManyField(to='content.Category')), ], options={ 'ordering': ['-created_at'], }, ), ]
class Migration(migrations.Migration): initial = True dependencies = [] operations = [ migrations.CreateModel( name='Author', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(default='le author name', max_length=200)), ('image', models.ImageField( blank=True, null=True, upload_to=content.models.author_image_directory_path)), ('bio', ckeditor.fields.RichTextField(default='author bio')), ('slug', models.SlugField(max_length=200, unique=True)), ], ), migrations.CreateModel( name='Classification', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('discipline', models.CharField( default='le discipline', help_text='topic discipline (ex: Neuroscience)', max_length=100)), ('academic_field', models.CharField(choices=[('S', 'Sciences'), ('H', 'Humanities')], help_text='Sciences or Humanities', max_length=2)), ], ), migrations.CreateModel( name='Episode', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('unique_id', models.CharField( blank=True, default=uuid.uuid4, help_text= 'This determines the Disqus comment section. Need to set this manually for old KiW episodes (that were on Flask)', max_length=100, unique=True)), ('title', models.CharField(default='le title', max_length=100, unique=True)), ('topic_image', models.ImageField( blank=True, null=True, upload_to=content.models.episode_image_directory_path, verbose_name='Cover image')), ('topic_image_latest', models.ImageField( blank=True, help_text="The cover image for 'featured' on the homepage", null=True, upload_to=content.models.episode_image_directory_path, verbose_name="'featured episode' cover image")), ('topic_image_box', models.ImageField( blank=True, help_text= 'This is for the circular audio player on mobile', null=True, upload_to=content.models.episode_image_directory_path, verbose_name='Mobile circular image')), ('transcript', ckeditor_uploader.fields.RichTextUploadingField( blank=True, default='le transcript', null=True)), ('abstract', ckeditor.fields.RichTextField(default='le abstract')), ('by_in_colour', models.CharField(choices=[('w', 'white'), ('b', 'black')], default='w', max_length=1, verbose_name="'by/in' colour")), ('author_name_size', models.CharField(choices=[('n', 'normal'), ('s', 'smaller')], default='n', max_length=1)), ('image_credits', ckeditor.fields.RichTextField( blank=True, default='', help_text= "Example of the correct format: The Morgan Library & Museum, New York. By <a target='_blank' href='https://commons.wikimedia.org/wiki/File:The_Morgan_Library_%26_Museum.jpg'>Paolatrabanco</a> [<a target='_blank' href='https://creativecommons.org/licenses/by-sa/4.0/deed.en'>CC BY-SA 4.0</a>]" )), ('narration_credits', models.CharField( blank=True, default='', help_text= 'Example of correct format: Mary Wellesley and Vidish Athavale', max_length=300)), ('music_credits', models.CharField( blank=True, default='', help_text= 'Example of correct format: Greg Joy and Neil Cross', max_length=300)), ('video_embed', models.CharField(blank=True, default='', max_length=300, verbose_name='Youtube URL')), ('audio_mp3', models.FileField(blank=True, upload_to='')), ('status', models.CharField(choices=[('d', 'Draft'), ('p', 'Published'), ('v', 'Previewed')], default='d', max_length=1)), ('pub_date', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date published')), ('slug', models.SlugField(max_length=120, unique=True)), ('old_KiW_slug', models.CharField( blank=True, help_text= 'For old episodes (that were on Flask): need to fill this in so that the old links on social media and stuff still work', max_length=200)), ('author', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='first_author', to='content.Author')), ('classification', models.ManyToManyField(blank=True, to='content.Classification')), ], ), migrations.CreateModel( name='FlashSeminar', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(default='le title', max_length=100, unique=True)), ('event_date', models.DateTimeField(default=django.utils.timezone.now)), ('event_location', models.CharField(default='somewhere', max_length=400)), ('description', ckeditor.fields.RichTextField(default='a flash seminar!')), ('status', models.CharField(choices=[('d', 'Draft'), ('p', 'Published'), ('v', 'Previewed')], default='d', max_length=1)), ('slug', models.SlugField(default='le slug', max_length=120, unique=True)), ('episode', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='content.Episode')), ], ), migrations.CreateModel( name='Season', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(default='Season title', max_length=100)), ('abstract', ckeditor.fields.RichTextField( default='Description of the season')), ('image', models.ImageField( blank=True, null=True, upload_to=content.models.seasons_image_directory_path, verbose_name='Season image')), ('pub_date', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date published')), ], ), migrations.AddField( model_name='episode', name='season', field=models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='content.Season'), ), migrations.AddField( model_name='episode', name='second_author', field=models.ForeignKey( blank=True, help_text='A second author is optional', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='second_author', to='content.Author'), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('core', '0001_initial'), ] operations = [ migrations.CreateModel( name='Blog', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=100, unique=True)), ('slug', models.SlugField(editable=False, max_length=100, unique=True)), ('creation_date', models.DateTimeField(auto_now_add=True)), ('changed_date', models.DateTimeField(auto_now=True)), ('is_visible', models.BooleanField(default=False)), ('body', models.TextField()), ('author', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.Profile')), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='Category', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=100, unique=True)), ('slug', models.SlugField(editable=False, max_length=100, unique=True)), ('creation_date', models.DateTimeField(auto_now_add=True)), ('changed_date', models.DateTimeField(auto_now=True)), ('is_visible', models.BooleanField(default=False)), ], options={ 'verbose_name_plural': 'categories', }, ), migrations.CreateModel( name='ContentImage', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=100, unique=True)), ('slug', models.SlugField(editable=False, max_length=100, unique=True)), ('creation_date', models.DateTimeField(auto_now_add=True)), ('changed_date', models.DateTimeField(auto_now=True)), ('is_visible', models.BooleanField(default=False)), ('image', models.ImageField(blank=True, null=True, upload_to='content-img')), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='Page', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=100, unique=True)), ('slug', models.SlugField(editable=False, max_length=100, unique=True)), ('creation_date', models.DateTimeField(auto_now_add=True)), ('changed_date', models.DateTimeField(auto_now=True)), ('is_visible', models.BooleanField(default=False)), ('body', models.TextField()), ('order', models.PositiveSmallIntegerField(blank=True, null=True)), ('footer_link', models.BooleanField(default=False)), ('is_home', models.BooleanField(db_index=True, default=False, editable=False)), ('images', models.ManyToManyField(related_name='page', to='content.ContentImage')), ], options={ 'ordering': ['section', 'order'], }, ), migrations.CreateModel( name='Section', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=100, unique=True)), ('slug', models.SlugField(editable=False, max_length=100, unique=True)), ('creation_date', models.DateTimeField(auto_now_add=True)), ('changed_date', models.DateTimeField(auto_now=True)), ('is_visible', models.BooleanField(default=False)), ('order', models.PositiveSmallIntegerField(default=content.models.section_default, unique=True)), ], options={ 'ordering': ['order'], }, ), migrations.AddField( model_name='page', name='section', field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='pages', to='content.Section'), ), migrations.AddField( model_name='blog', name='categories', field=models.ManyToManyField(related_name='blogs', to='content.Category'), ), migrations.AddField( model_name='blog', name='images', field=models.ManyToManyField(related_name='blog', to='content.ContentImage'), ), migrations.AlterUniqueTogether( name='page', unique_together=set([('section', 'order')]), ), ]
class Migration(migrations.Migration): initial = True dependencies = [] operations = [ migrations.CreateModel( name='Character', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('chinese', models.CharField(max_length=1)), ('pinyin', models.CharField(max_length=15)), ('part_of_speech_1', models.CharField(max_length=50)), ('definition_1', models.CharField(max_length=100)), ('part_of_speech_2', models.CharField(blank=True, max_length=50, null=True)), ('definition_2', models.CharField(blank=True, max_length=100, null=True)), ('explanation_2', models.CharField(blank=True, max_length=300, null=True)), ('part_of_speech_3', models.CharField(blank=True, max_length=50, null=True)), ('definition_3', models.CharField(blank=True, max_length=100, null=True)), ('explanation_3', models.CharField(blank=True, max_length=300, null=True)), ('mnemonic_explanation', models.CharField(max_length=800)), ('example_1_word', models.CharField(max_length=10)), ('example_1_pinyin', models.CharField(max_length=25)), ('example_1_character', models.CharField(max_length=100)), ('example_1_meaning', models.CharField(max_length=100)), ('example_2_word', models.CharField(blank=True, max_length=10, null=True)), ('example_2_pinyin', models.CharField(blank=True, max_length=25, null=True)), ('example_2_character', models.CharField(blank=True, max_length=100, null=True)), ('example_2_meaning', models.CharField(blank=True, max_length=100, null=True)), ('is_preview_definition', models.BooleanField()), ('is_preview_pinyin', models.BooleanField()), ('structure', models.IntegerField(null=True)), ('stroke_order_image', models.ImageField(default='default.jpg', upload_to='')), ], options={ 'ordering': ['id'], }, bases=(models.Model, content.models.DFModelMixin, jiezi.utils.mixins.StrDefaultReprMixin), ), migrations.CreateModel( name='Radical', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('chinese', models.CharField(max_length=6)), ('pinyin', models.CharField(max_length=15)), ('definition', models.CharField(max_length=100)), ('mnemonic_explanation', models.CharField(blank=True, max_length=300, null=True)), ('mnemonic_image', models.ImageField(default='default.jpg', upload_to='')), ('is_phonetic', models.BooleanField()), ('is_semantic', models.BooleanField()), ], options={ 'ordering': ['id'], }, bases=(models.Model, content.models.DFModelMixin, jiezi.utils.mixins.StrDefaultReprMixin), ), migrations.CreateModel( name='CharacterSet', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=50)), ('characters', models.ManyToManyField(to='content.Character')), ], bases=(models.Model, content.models.DFModelMixin, jiezi.utils.mixins.StrDefaultReprMixin), ), migrations.AddField( model_name='character', name='radical_1', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='+', to='content.radical'), ), migrations.AddField( model_name='character', name='radical_2', field=models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='content.radical'), ), migrations.AddField( model_name='character', name='radical_3', field=models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='content.radical'), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ] operations = [ migrations.CreateModel( name='Category', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=255, verbose_name='category name')), ('slug', models.SlugField(max_length=30, unique=True, verbose_name='category slug')), ], ), migrations.CreateModel( name='Comment', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('text', models.TextField(verbose_name='comment text')), ('pub_date', models.DateTimeField(auto_now_add=True, db_index=True, verbose_name='date published')), ], options={ 'ordering': ('pub_date',), }, ), migrations.CreateModel( name='Genre', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=255, verbose_name='genre name')), ('slug', models.SlugField(max_length=30, unique=True, verbose_name='genre slug')), ], ), migrations.CreateModel( name='Review', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('text', models.TextField(verbose_name='review text')), ('score', models.IntegerField(validators=[django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(10)], verbose_name='title score')), ('pub_date', models.DateTimeField(auto_now_add=True, db_index=True, verbose_name='date published')), ], options={ 'ordering': ('pub_date',), }, ), migrations.CreateModel( name='Title', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=255, verbose_name='title name')), ('year', models.IntegerField(db_index=True, default=0, validators=[content.models.validate_year], verbose_name='year of creation')), ('description', models.TextField(blank=True, verbose_name='title description')), ('category', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='category_titles', to='content.Category', verbose_name='category')), ('genre', models.ManyToManyField(blank=True, related_name='genre_titles', to='content.Genre', verbose_name='genre')), ], options={ 'ordering': ('year',), }, ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ] operations = [ migrations.CreateModel( name='Category', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=50, verbose_name='名称')), ('content', models.TextField(help_text='用 markdown 书写', verbose_name='分类描述正文')), ('content_html', models.TextField(blank=True, editable=False, verbose_name='正文html代码')), ('desc', models.CharField(max_length=1024, verbose_name='摘要')), ], options={ 'verbose_name': '分类', 'verbose_name_plural': '分类', 'ordering': ['-id'], }, bases=(content.models.TranMarkdown, models.Model), ), migrations.CreateModel( name='IndexContent', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('order_number', models.PositiveSmallIntegerField(help_text='只能使用正整数且唯一', unique=True, verbose_name='序号')), ('title', models.CharField(help_text='不填则不显示标题', max_length=50, verbose_name='标题')), ('does_show_title', models.BooleanField(default=True, verbose_name='是否显示标题')), ('content_type', models.PositiveIntegerField(choices=[(1, 'HTML'), (2, '最热文章'), (3, '最新文章')], default=1, verbose_name='展示类型')), ('content', models.CharField(blank=True, help_text='只有选择 HTML 时才需要填写内容', max_length=1024, verbose_name='内容')), ], options={ 'verbose_name': '首页内容区', 'verbose_name_plural': '首页内容区', 'ordering': ['order_number'], }, ), migrations.CreateModel( name='Link', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('order_number', models.PositiveSmallIntegerField(help_text='只能使用正整数且唯一', unique=True, verbose_name='序号')), ('url', models.CharField(help_text='建议使用绝对路径', max_length=200, verbose_name='URL')), ('anchor_word', models.CharField(max_length=50, verbose_name='锚文字')), ('create_time', models.DateTimeField(verbose_name='创建时间')), ('does_follow', models.BooleanField(default=False, verbose_name='是否跟踪')), ], options={ 'verbose_name': '底部文字链接', 'verbose_name_plural': '底部文字链接', 'ordering': ['order_number'], }, ), migrations.CreateModel( name='Page', fields=[ ('link_word', models.CharField(help_text='只能使用字母', max_length=50, primary_key=True, serialize=False, unique=True, verbose_name='URL字符串')), ('title', models.CharField(max_length=50, verbose_name='标题')), ('author', models.CharField(max_length=10, verbose_name='作者')), ('content', models.TextField(help_text='用 markdown 书写', verbose_name='正文')), ('content_html', models.TextField(blank=True, editable=False, verbose_name='正文html代码')), ('create_time', models.DateTimeField(verbose_name='创建时间')), ('update_time', models.DateTimeField(verbose_name='更新时间')), ('does_nav', models.BooleanField(default=False, verbose_name='是否添至导航栏')), ('does_follow', models.BooleanField(default=False, verbose_name='是否跟踪')), ('desc', models.CharField(max_length=1024, verbose_name='摘要')), ], options={ 'verbose_name': '独立页面', 'verbose_name_plural': '独立页面', 'ordering': ['link_word'], }, bases=(content.models.TranMarkdown, models.Model), ), migrations.CreateModel( name='SideBar', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('order_number', models.PositiveSmallIntegerField(help_text='只能使用正整数且唯一', unique=True, verbose_name='序号')), ('title', models.CharField(max_length=50, verbose_name='标题')), ('does_show_title', models.BooleanField(default=True, verbose_name='是否显示标题')), ('sidebar_type', models.PositiveIntegerField(choices=[(1, 'HTML'), (2, '最热文章'), (3, '最新文章')], default=1, verbose_name='展示类型')), ('content', models.CharField(blank=True, help_text='只有选择 HTML 时才需要填写内容', max_length=1024, verbose_name='内容')), ], options={ 'verbose_name': '侧边栏', 'verbose_name_plural': '侧边栏', 'ordering': ['order_number'], }, ), migrations.CreateModel( name='Tag', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=50, verbose_name='名称')), ('content', models.TextField(help_text='用 markdown 书写', verbose_name='标签描述正文')), ('content_html', models.TextField(blank=True, editable=False, verbose_name='正文html代码')), ('desc', models.CharField(max_length=1024, verbose_name='摘要')), ], options={ 'verbose_name': '标签', 'verbose_name_plural': '标签', 'ordering': ['-id'], }, bases=(content.models.TranMarkdown, models.Model), ), migrations.CreateModel( name='Article', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=50, verbose_name='标题')), ('author', models.CharField(max_length=10, verbose_name='作者')), ('create_time', models.DateTimeField(verbose_name='创建时间')), ('update_time', models.DateTimeField(verbose_name='更新时间')), ('desc', models.CharField(max_length=1024, verbose_name='摘要')), ('content', models.TextField(help_text='用 markdown 书写', verbose_name='正文')), ('content_html', models.TextField(blank=True, editable=False, verbose_name='正文html代码')), ('category', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='content.Category', verbose_name='分类')), ('tag', models.ManyToManyField(to='content.Tag', verbose_name='标签')), ], options={ 'verbose_name': '文章', 'verbose_name_plural': '文章', 'ordering': ['-create_time'], }, bases=(content.models.TranMarkdown, models.Model), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('auth', '0012_alter_user_first_name_max_length'), ] operations = [ migrations.CreateModel( name='User', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('password', models.CharField(max_length=128, verbose_name='password')), ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), ('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')), ('username', models.CharField(error_messages={'unique': 'A user with that username already exists.'}, help_text='Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.', max_length=150, unique=True, validators=[django.contrib.auth.validators.UnicodeUsernameValidator()], verbose_name='username')), ('first_name', models.CharField(blank=True, max_length=150, verbose_name='first name')), ('last_name', models.CharField(blank=True, max_length=150, verbose_name='last name')), ('email', models.EmailField(blank=True, max_length=254, verbose_name='email address')), ('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')), ('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')), ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')), ('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')), ('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')), ], options={ 'verbose_name': 'user', 'verbose_name_plural': 'users', 'abstract': False, }, managers=[ ('objects', django.contrib.auth.models.UserManager()), ], ), migrations.CreateModel( name='Category', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=25)), ('slug', models.SlugField(blank=True)), ('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='owner', to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': 'Category', 'verbose_name_plural': 'Categories', }, ), migrations.CreateModel( name='UnauthorizedUserLink', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=25, verbose_name='Name')), ('slug', models.SlugField(blank=True)), ('link', models.CharField(max_length=100)), ('image', models.ImageField(blank=True, upload_to=content.models.image_folder, verbose_name='Image url')), ], options={ 'verbose_name': 'UnauthorizedUserLink', 'verbose_name_plural': 'UnauthorizedUserLinks', }, ), migrations.CreateModel( name='Version', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('version', models.CharField(max_length=5, verbose_name='Версия')), ('description', models.TextField(verbose_name='Что нового в версии')), ('year', models.PositiveSmallIntegerField(verbose_name='Текущий год')), ], ), migrations.CreateModel( name='Link', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=25, verbose_name='Name')), ('slug', models.SlugField(blank=True)), ('link', models.CharField(max_length=100)), ('image', models.ImageField(blank=True, upload_to=content.models.image_folder, verbose_name='Image url')), ('category', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='category', to='content.category')), ], options={ 'verbose_name': 'Link', 'verbose_name_plural': 'Links', }, ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('contenttypes', '0002_remove_content_type_name'), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='Content', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('status', models.CharField(default='UNPROCESSED', editable=False, max_length=40)), ('privacy', models.CharField(choices=[('PRIVATE', 'Private'), ('RESTRICTED', 'Group'), ('PUBLIC', 'Public')], default='PRIVATE', max_length=40, verbose_name='Privacy')), ('uid', models.CharField(db_index=True, default=content.models.get_uid, editable=False, max_length=40, unique=True)), ('originalfilename', models.CharField(editable=False, max_length=256, null=True, verbose_name='Original file name')), ('filesize', models.IntegerField(editable=False, null=True)), ('filetime', models.DateTimeField(blank=True, editable=False, null=True)), ('mimetype', models.CharField(editable=False, max_length=200, null=True)), ('file', models.FileField( storage=django.core.files.storage. FileSystemStorage(location=pathlib.PurePosixPath( '/Users/arista/Documents/workspace/mestadb-py3/services/mestadb/data/content' )), upload_to=content.models.upload_split_by_1000)), ('preview', models.ImageField( blank=True, editable=False, storage=django.core.files.storage. FileSystemStorage(location=pathlib.PurePosixPath( '/Users/arista/Documents/workspace/mestadb-py3/services/mestadb/var/preview' )), upload_to=content.models.upload_split_by_1000)), ('md5', models.CharField(editable=False, max_length=32, null=True)), ('sha1', models.CharField(editable=False, max_length=40, null=True)), ('linktype', models.CharField(blank=True, max_length=500)), ('point', django.contrib.gis.db.models.fields.PointField(blank=True, geography=True, null=True, srid=4326)), ('point_geom', django.contrib.gis.db.models.fields.PointField(blank=True, null=True, srid=4326)), ('title', models.CharField(blank=True, max_length=200, verbose_name='Title')), ('caption', models.TextField(blank=True, verbose_name='Caption')), ('author', models.CharField(blank=True, max_length=200, verbose_name='Author')), ('keywords', models.CharField(blank=True, max_length=500, verbose_name='Keywords')), ('place', models.CharField(blank=True, max_length=500, verbose_name='Place')), ('created', models.DateTimeField(auto_now_add=True)), ('updated', models.DateTimeField(auto_now=True)), ('opens', models.DateTimeField(blank=True, null=True)), ('expires', models.DateTimeField(blank=True, null=True)), ('object_id', models.PositiveIntegerField(blank=True, null=True)), ('content_type', models.ForeignKey( blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, to='contenttypes.contenttype')), ], ), migrations.CreateModel( name='Mail', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('status', models.CharField(choices=[('UNPROCESSED', 'UNPROCESSED'), ('PROCESSED', 'PROCESSED'), ('DUPLICATE', 'DUPLICATE'), ('FAILED', 'FAILED')], default='UNPROCESSED', max_length=40)), ('filesize', models.IntegerField(editable=False, null=True)), ('file', models.FileField( editable=False, storage=django.core.files.storage.FileSystemStorage( location= '/Users/arista/Documents/workspace/mestadb-py3/services/mestadb/var/mail/content' ), upload_to=content.models.upload_split_by_1000)), ('md5', models.CharField(db_index=True, editable=False, max_length=32)), ('sha1', models.CharField(db_index=True, editable=False, max_length=40)), ('created', models.DateTimeField(auto_now_add=True)), ('processed', models.DateTimeField(null=True)), ], ), migrations.CreateModel( name='Audio', fields=[ ('content', models.OneToOneField( editable=False, on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='content.content')), ('duration', models.FloatField(blank=True, null=True)), ('bitrate', models.FloatField(blank=True, editable=False, null=True)), ], ), migrations.CreateModel( name='Image', fields=[ ('content', models.OneToOneField( editable=False, on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='content.content')), ('width', models.IntegerField(blank=True, editable=False, null=True)), ('height', models.IntegerField(blank=True, editable=False, null=True)), ('rotate', models.IntegerField(blank=True, choices=[(0, 0), (90, 90), (180, 180), (270, 270)], default=0, null=True)), ('thumbnail', models.ImageField( editable=False, storage=django.core.files.storage. FileSystemStorage(location=pathlib.PurePosixPath( '/Users/arista/Documents/workspace/mestadb-py3/services/mestadb/var/preview' )), upload_to=content.models.upload_split_by_1000)), ], ), migrations.CreateModel( name='Uploadinfo', fields=[ ('content', models.OneToOneField( editable=False, on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='content.content')), ('sessionid', models.CharField(blank=True, editable=False, max_length=200)), ('ip', models.GenericIPAddressField(blank=True, editable=False, null=True)), ('useragent', models.CharField(blank=True, editable=False, max_length=500)), ('info', models.TextField(blank=True)), ], ), migrations.CreateModel( name='Video', fields=[ ('content', models.OneToOneField( editable=False, on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='content.content')), ('width', models.IntegerField(blank=True, editable=False, null=True)), ('height', models.IntegerField(blank=True, editable=False, null=True)), ('duration', models.FloatField(blank=True, editable=False, null=True)), ('bitrate', models.CharField(blank=True, editable=False, max_length=256, null=True)), ('thumbnail', models.ImageField( editable=False, storage=django.core.files.storage. FileSystemStorage(location=pathlib.PurePosixPath( '/Users/arista/Documents/workspace/mestadb-py3/services/mestadb/var/preview' )), upload_to=content.models.upload_split_by_1000)), ], ), migrations.CreateModel( name='Videoinstance', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('mimetype', models.CharField(editable=False, max_length=200)), ('filesize', models.IntegerField(blank=True, editable=False, null=True)), ('duration', models.FloatField(blank=True, editable=False, null=True)), ('bitrate', models.FloatField(blank=True, editable=False, null=True)), ('extension', models.CharField(editable=False, max_length=16)), ('width', models.IntegerField(blank=True, editable=False, null=True)), ('height', models.IntegerField(blank=True, editable=False, null=True)), ('framerate', models.FloatField(blank=True, editable=False, null=True)), ('file', models.FileField( editable=False, storage=django.core.files.storage. FileSystemStorage(location=pathlib.PurePosixPath( '/Users/arista/Documents/workspace/mestadb-py3/services/mestadb/var/video' )), upload_to=content.models.upload_split_by_1000)), ('command', models.CharField(editable=False, max_length=2000)), ('created', models.DateTimeField(auto_now_add=True)), ('content', models.ForeignKey(editable=False, on_delete=django.db.models.deletion.CASCADE, related_name='videoinstances', to='content.content')), ], ), migrations.CreateModel( name='Group', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100)), ('slug', models.SlugField(max_length=100)), ('description', models.TextField()), ('created', models.DateTimeField(auto_now_add=True)), ('updated', models.DateTimeField(auto_now=True)), ('users', models.ManyToManyField(blank=True, related_name='contentgroups', to=settings.AUTH_USER_MODEL)), ], ), migrations.AddField( model_name='content', name='group', field=models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='content.group'), ), migrations.AddField( model_name='content', name='parent', field=models.ForeignKey( blank=True, editable=False, null=True, on_delete=django.db.models.deletion.SET_NULL, to='content.content'), ), migrations.AddField( model_name='content', name='peers', field=models.ManyToManyField(blank=True, editable=False, to='content.content'), ), migrations.AddField( model_name='content', name='user', field=models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL), ), migrations.CreateModel( name='Audioinstance', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('mimetype', models.CharField(editable=False, max_length=200)), ('filesize', models.IntegerField(blank=True, editable=False, null=True)), ('duration', models.FloatField(blank=True, editable=False, null=True)), ('bitrate', models.FloatField(blank=True, editable=False, null=True)), ('extension', models.CharField(editable=False, max_length=16)), ('file', models.FileField( editable=False, storage=django.core.files.storage. FileSystemStorage(location=pathlib.PurePosixPath( '/Users/arista/Documents/workspace/mestadb-py3/services/mestadb/var/audio' )), upload_to=content.models.upload_split_by_1000)), ('command', models.CharField(editable=False, max_length=2000)), ('created', models.DateTimeField(auto_now_add=True)), ('content', models.ForeignKey(editable=False, on_delete=django.db.models.deletion.CASCADE, related_name='audioinstances', to='content.content')), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='Course', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(default='', max_length=255)), ('slug', models.SlugField(editable=False, max_length=30, unique=True)), ('duration', models.IntegerField(default=4)), ('no_of_semesters', models.IntegerField(default=8)), ], ), migrations.CreateModel( name='Exam_Paper_Count', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('paper_cnt', models.IntegerField(default=0)), ], ), migrations.CreateModel( name='Note_Count', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('note_cnt', models.IntegerField(default=0)), ], ), migrations.CreateModel( name='Subject', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(default='', max_length=255)), ('slug', models.SlugField(editable=False, max_length=30, unique=True)), ('course', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='content.Course', verbose_name='Course')), ], ), migrations.CreateModel( name='Note', fields=[ ('note_id', models.CharField(max_length=20, primary_key=True, serialize=False)), ('title', models.CharField(default='', max_length=300)), ('note_pdf', models.FileField( blank=True, default=None, null=True, upload_to=content.models.get_note_path, validators=[ django.core.validators.FileExtensionValidator(['pdf']) ])), ('is_approved', models.BooleanField(default=False)), ('course', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='content.Course', verbose_name='Course')), ('subject', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='content.Subject', verbose_name='Subject')), ('upvotes', models.ManyToManyField(related_name='upvotes', to=settings.AUTH_USER_MODEL)), ('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Provider')), ], ), migrations.CreateModel( name='Exam_Paper', fields=[ ('paper_id', models.CharField(max_length=20, primary_key=True, serialize=False)), ('title', models.CharField(default='', max_length=300)), ('batch_year', models.IntegerField()), ('semester', models.IntegerField()), ('exam', models.CharField(max_length=20)), ('exam_type', models.CharField(choices=[('T', 'Theory'), ('P', 'Practical')], default='T', max_length=1)), ('paper_pdf', models.FileField( blank=True, default=None, null=True, upload_to=content.models.get_paper_path, validators=[ django.core.validators.FileExtensionValidator(['pdf']) ])), ('is_approved', models.BooleanField(default=False)), ('course', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='content.Course', verbose_name='Course')), ('subject', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='content.Subject', verbose_name='Subject')), ('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Provider')), ], ), migrations.CreateModel( name='Book', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=300)), ('author', models.CharField(max_length=300)), ('image', models.ImageField(default='download.jpg', upload_to='books/')), ('flink', models.CharField(blank=True, max_length=300)), ('alink', models.CharField(blank=True, default='', max_length=300)), ('slug', models.SlugField(editable=False, max_length=30, unique=True)), ('course', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='content.Course', verbose_name='Course')), ('subject', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='content.Subject', verbose_name='Subject')), ], ), ]