class Migration(migrations.Migration): dependencies = [ ('content', '0002_systemsetting'), ] operations = [ migrations.CreateModel( name='Albumn', fields=[ ('id', models.CharField(default=uuid.uuid4, max_length=64, primary_key=True, serialize=False, verbose_name='Activation key')), ('name', models.CharField(db_index=True, max_length=60, unique=True)), ('weight', models.IntegerField(default=0)), ('slug', models.SlugField(max_length=150, unique=True)), ('created', models.DateTimeField(auto_now_add=True, db_index=True)), ('active', models.BooleanField(default=True)), ], ), migrations.CreateModel( name='Image', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(blank=True, max_length=60, null=True)), ('image_key', models.CharField(default=uuid.uuid4, max_length=64, verbose_name='Activation key')), ('image', models.ImageField(storage=content.storage.OverwriteStorage(), upload_to=content.models.image_upload_path)), ('created', models.DateTimeField(auto_now_add=True)), ('active', models.BooleanField(default=True)), ('weight', models.IntegerField(default=0)), ('albumn', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='content.Albumn')), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='Category', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=120)), ('slug', models.SlugField(unique=True)), ('active', models.BooleanField(default=True)), ('updated', models.DateTimeField(auto_now=True)), ('timestamp', models.DateTimeField(auto_now_add=True)), ], ), migrations.CreateModel( name='Post', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=120)), ('title_pic', models.CharField(max_length=120)), ('content', models.TextField()), ('image_height', models.IntegerField(blank=True, null=True)), ('image_width', models.IntegerField(blank=True, null=True)), ('image', models.ImageField(height_field='image_height', upload_to=content.models.post_image_upload, width_field='image_width')), ('share_num', models.IntegerField()), ('article_id', models.IntegerField()), ('location', models.CharField(max_length=50)), ('post_type', models.IntegerField()), ('public', models.BooleanField(default=True)), ('updated', models.DateTimeField(auto_now=True)), ('timestamp', models.DateTimeField(auto_now_add=True)), ('category', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='category_posts', to='content.Category')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='Article', fields=[ ('id', models.BigAutoField(editable=False, primary_key=True, serialize=False)), ('title', models.TextField(db_index=True)), ('alias', models.TextField(unique=True)), ('intro', models.TextField(default='', null=True)), ('content', models.TextField(default='', null=True)), ('img_url', models.URLField(default='', null=True)), ('img_path', models.ImageField(default='', null=True, upload_to='')), ('state', models.BooleanField(db_index=True, default=False)), ('created', models.DateTimeField(auto_now_add=True, db_index=True)), ('edited', models.DateTimeField(auto_now_add=True, db_index=True)), ('published', models.DateTimeField(db_index=True, null=True)), ('created_at', models.ForeignKey(on_delete=models.SET( content.models.get_sentinel_user), related_name='+', to=settings.AUTH_USER_MODEL)), ('edited_at', models.ForeignKey(on_delete=models.SET( content.models.get_sentinel_user), related_name='+', to=settings.AUTH_USER_MODEL)), ('published_at', models.ForeignKey(on_delete=models.SET( content.models.get_sentinel_user), related_name='+', to=settings.AUTH_USER_MODEL)), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [] operations = [ migrations.CreateModel( name='Articles', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('article_title', models.CharField(blank=True, max_length=200, unique=True, verbose_name='Заголовок статьи')), ('article_link', models.SlugField(default='', max_length=150, verbose_name='Ссылка в браузере')), ('metakey', models.CharField(blank=True, max_length=255, verbose_name='Ключевые слова')), ('metadesc', models.CharField(blank=True, max_length=255, verbose_name='Мета описание')), ('image', models.ImageField(blank=True, upload_to=content.models.make_upload_path, verbose_name='Изображение')), ('article_anons', ckeditor.fields.RichTextField(blank=True, verbose_name='Анонс статьи')), ('article_text', ckeditor_uploader.fields.RichTextUploadingField( blank=True, verbose_name='Полный текст статьи')), ('article_date', models.DateTimeField(blank=True, default=django.utils.timezone.now, verbose_name='Дата публикации')), ('recipe', models.BooleanField(default=False, verbose_name='Рецепт')), ('article_publish', models.BooleanField(default=True, verbose_name='Опубликован')), ], options={ 'verbose_name': 'Статья, рецепт', 'verbose_name_plural': 'Статьи и рецепты', 'db_table': 'articles', }, ), migrations.CreateModel( name='Categories', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('category_name', models.CharField(db_index=True, default='', max_length=200, unique=True, verbose_name='Категория')), ('category_link', models.SlugField(default='', max_length=150)), ('metakey', models.CharField(blank=True, max_length=255, verbose_name='Ключевые слова')), ('metadesc', models.CharField(blank=True, max_length=255, verbose_name='Мета описание')), ('in_header', models.SmallIntegerField( blank=True, default=0, null=True, verbose_name='Категория в шапке сайта')), ('class_in_header', models.CharField(blank=True, default=False, max_length=20, null=True)), ], options={ 'verbose_name': 'категория', 'verbose_name_plural': 'категории', 'db_table': 'categories', 'ordering': ['id'], }, ), migrations.CreateModel( name='Comments', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('user_name', models.CharField(max_length=50, verbose_name='Имя пользователя')), ('comment_date', models.DateField(default=django.utils.timezone.now, verbose_name='Дата')), ('comments_text', models.TextField(blank=True, verbose_name='Кометарий')), ('comments_article', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='content.Articles', verbose_name='Коментарий для статьи')), ], options={ 'verbose_name': 'коментарий', 'verbose_name_plural': 'коментарии', 'db_table': 'comments', 'ordering': ['-comment_date'], }, ), migrations.AddField( model_name='articles', name='category_article', field=models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='content.Categories', verbose_name='Категория статьи'), ), ]
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 = [ ('wagtailimages', '0019_delete_filter'), ('taggit', '0002_auto_20150616_2121'), ('wagtailcore', '0040_page_draft_title'), ] operations = [ migrations.CreateModel( name='ArticleIndex', fields=[ ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page')), ('description', models.TextField(blank=True, max_length=160, verbose_name='Описание')), ('color', colorfield.fields.ColorField(blank=True, default='#FF0000', max_length=18, verbose_name='Цвет рубрики')), ('body', wagtail.wagtailcore.fields.StreamField((('group_1', wagtail.wagtailcore.blocks.StructBlock((('slider', wagtail.wagtailcore.blocks.StructBlock((('page', wagtail.wagtailcore.blocks.PageChooserBlock(label='Страница', required=False)), ('tag', content.blocks.TagBlock(label='Тег', required=False)), ('is_random', wagtail.wagtailcore.blocks.BooleanBlock(label='Золотой фонд', required=False))), label='Материал 1 (большой)')), ('standart', wagtail.wagtailcore.blocks.StructBlock((('page', wagtail.wagtailcore.blocks.PageChooserBlock(label='Страница', required=False)), ('tag', content.blocks.TagBlock(label='Тег', required=False)), ('is_random', wagtail.wagtailcore.blocks.BooleanBlock(label='Золотой фонд', required=False))), label='Материал 2 (стандартный)'))), icon='cog', label='Большой материал со стандартным', template='content/groups/group_1.html')), ('group_2', wagtail.wagtailcore.blocks.StructBlock((('little_1', wagtail.wagtailcore.blocks.StructBlock((('page', wagtail.wagtailcore.blocks.PageChooserBlock(label='Страница', required=False)), ('tag', content.blocks.TagBlock(label='Тег', required=False)), ('is_random', wagtail.wagtailcore.blocks.BooleanBlock(label='Золотой фонд', required=False))), label='Материал 1 (маленький)')), ('little_2', wagtail.wagtailcore.blocks.StructBlock((('page', wagtail.wagtailcore.blocks.PageChooserBlock(label='Страница', required=False)), ('tag', content.blocks.TagBlock(label='Тег', required=False)), ('is_random', wagtail.wagtailcore.blocks.BooleanBlock(label='Золотой фонд', required=False))), label='Материал 2 (маленький)')), ('cube', wagtail.wagtailcore.blocks.StructBlock((('page', wagtail.wagtailcore.blocks.PageChooserBlock(label='Страница', required=False)), ('tag', content.blocks.TagBlock(label='Тег', required=False)), ('is_random', wagtail.wagtailcore.blocks.BooleanBlock(label='Золотой фонд', required=False))), label='Материал 3 (куб)')), ('standart', wagtail.wagtailcore.blocks.StructBlock((('page', wagtail.wagtailcore.blocks.PageChooserBlock(label='Страница', required=False)), ('tag', content.blocks.TagBlock(label='Тег', required=False)), ('is_random', wagtail.wagtailcore.blocks.BooleanBlock(label='Золотой фонд', required=False))), label='Материал 4 (стандартный)'))), icon='cog', label='Два маленьких, куб и стандартный', template='content/groups/group_2.html')), ('group_3', wagtail.wagtailcore.blocks.StructBlock((('standart', wagtail.wagtailcore.blocks.StructBlock((('page', wagtail.wagtailcore.blocks.PageChooserBlock(label='Страница', required=False)), ('tag', content.blocks.TagBlock(label='Тег', required=False)), ('is_random', wagtail.wagtailcore.blocks.BooleanBlock(label='Золотой фонд', required=False))), label='Материал 1 (стандартный)')), ('big', wagtail.wagtailcore.blocks.StructBlock((('page', wagtail.wagtailcore.blocks.PageChooserBlock(label='Страница', required=False)), ('tag', content.blocks.TagBlock(label='Тег', required=False)), ('is_random', wagtail.wagtailcore.blocks.BooleanBlock(label='Золотой фонд', required=False))), label='Материал 2 (большой)'))), icon='cog', label='Стандартный и большой', template='content/groups/group_3.html')), ('group_4', wagtail.wagtailcore.blocks.StructBlock((('standart', wagtail.wagtailcore.blocks.StructBlock((('page', wagtail.wagtailcore.blocks.PageChooserBlock(label='Страница', required=False)), ('tag', content.blocks.TagBlock(label='Тег', required=False)), ('is_random', wagtail.wagtailcore.blocks.BooleanBlock(label='Золотой фонд', required=False))), label='Материал 1 (стандартный)')), ('little_1', wagtail.wagtailcore.blocks.StructBlock((('page', wagtail.wagtailcore.blocks.PageChooserBlock(label='Страница', required=False)), ('tag', content.blocks.TagBlock(label='Тег', required=False)), ('is_random', wagtail.wagtailcore.blocks.BooleanBlock(label='Золотой фонд', required=False))), label='Материал 2 (маленький)')), ('little_2', wagtail.wagtailcore.blocks.StructBlock((('page', wagtail.wagtailcore.blocks.PageChooserBlock(label='Страница', required=False)), ('tag', content.blocks.TagBlock(label='Тег', required=False)), ('is_random', wagtail.wagtailcore.blocks.BooleanBlock(label='Золотой фонд', required=False))), label='Материал 3 (маленький)')), ('cube', wagtail.wagtailcore.blocks.StructBlock((('page', wagtail.wagtailcore.blocks.PageChooserBlock(label='Страница', required=False)), ('tag', content.blocks.TagBlock(label='Тег', required=False)), ('is_random', wagtail.wagtailcore.blocks.BooleanBlock(label='Золотой фонд', required=False))), label='Материал 4 (куб)'))), icon='cog', label='Стандартный, два маленьких и куб', template='content/groups/group_4.html'))), blank=True, null=True)), ('preview_picture', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='+', to='wagtailimages.Image', verbose_name='Основная иллюстрация')), ], options={ 'verbose_name': 'Рубрика', 'verbose_name_plural': 'Рубрики', }, bases=('wagtailcore.page',), ), migrations.CreateModel( name='ArticleIndexTag', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('content_object', modelcluster.fields.ParentalKey(on_delete=django.db.models.deletion.CASCADE, related_name='tagged_items', to='content.ArticleIndex')), ('tag', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='content_articleindextag_items', to='taggit.Tag')), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='ArticlePage', fields=[ ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page')), ('full_title', models.CharField(blank=True, help_text='До 150 символов', max_length=150, null=True, verbose_name='Полный заголовок')), ('short_lead', models.TextField(help_text='До 160 символов', max_length=160, verbose_name='Короткий лид')), ('full_lead', models.TextField(blank=True, help_text='До 250 символов', max_length=250, null=True, verbose_name='Полный лид')), ('count_view', models.PositiveIntegerField(default=0)), ('allowed_comments', models.BooleanField(default=True, verbose_name='Включить комментарии')), ('body', wagtail.wagtailcore.fields.StreamField((('h2', wagtail.wagtailcore.blocks.CharBlock(classname='title', icon='title', label='H2', template='content/stream_fields/h2.html')), ('embed', wagtail.wagtailembeds.blocks.EmbedBlock(icon='link', label='Эмбед')), ('image', wagtail.wagtailcore.blocks.StructBlock((('image', wagtail.wagtailimages.blocks.ImageChooserBlock(label='Фотография')), ('caption', wagtail.wagtailcore.blocks.RichTextBlock(label='Подпись'))), icon='image', label='Фотография', template='content/stream_fields/image.html')), ('quote_no_image', wagtail.wagtailcore.blocks.StructBlock((('quote', wagtail.wagtailcore.blocks.TextBlock(label='Цитата')),))), ('quote', wagtail.wagtailcore.blocks.StructBlock((('quote', wagtail.wagtailcore.blocks.TextBlock(label='Цитата')), ('author', wagtail.wagtailcore.blocks.CharBlock(label='Автор')), ('attribution', wagtail.wagtailcore.blocks.TextBlock(label='Подпись автора')), ('photo', wagtail.wagtailimages.blocks.ImageChooserBlock(label='Фотография'))))), ('read_also', wagtail.wagtailcore.blocks.StructBlock((('page', wagtail.wagtailcore.blocks.PageChooserBlock(label='Страница')),))), ('paragraph', wagtail.wagtailcore.blocks.RichTextBlock(label='Параграф', template='content/stream_fields/paragraph.html')), ('gallery', wagtail.wagtailcore.blocks.ListBlock(content.blocks.ImageBlock, icon='image', label='Галерея', template='content/stream_fields/gallery.html')), ('notes', wagtail.wagtailcore.blocks.ListBlock(wagtail.wagtailcore.blocks.TextBlock(label='Подпись'), template='content/stream_fields/notes.html'))))), ('show_in_news', models.BooleanField(default=False, verbose_name='Отображать в новостях')), ('old_id', models.IntegerField(blank=True, null=True)), ], options={ 'verbose_name': 'Статья', 'verbose_name_plural': 'Статьи', }, bases=(wagtail.contrib.wagtailroutablepage.models.RoutablePageMixin, 'wagtailcore.page'), ), migrations.CreateModel( name='ArticlePageTag', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('content_object', modelcluster.fields.ParentalKey(on_delete=django.db.models.deletion.CASCADE, related_name='tagged_items', to='content.ArticlePage')), ('tag', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='content_articlepagetag_items', to='taggit.Tag')), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='Author', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('first_name', models.CharField(max_length=150, verbose_name='Имя')), ('last_name', models.CharField(max_length=150, verbose_name='Фамилия')), ('photo', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='+', to='wagtailimages.Image', verbose_name='Фото')), ], options={ 'verbose_name': 'Автор', 'verbose_name_plural': 'Авторы', }, ), migrations.CreateModel( name='BlogCategory', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('live', models.BooleanField(default=True, verbose_name='Опубликовано')), ('title', models.CharField(max_length=255, verbose_name='Заголовок')), ('slug', models.CharField(max_length=255, verbose_name='Символьный код')), ('description', models.TextField(blank=True, null=True, verbose_name='Описание')), ('preview_picture', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='+', to='wagtailimages.Image', verbose_name='Основная иллюстрация')), ], options={ 'verbose_name': 'Блог', 'verbose_name_plural': 'Блоги', }, ), migrations.CreateModel( name='BlogIndex', fields=[ ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page')), ('intro', wagtail.wagtailcore.fields.RichTextField(blank=True)), ], options={ 'verbose_name': 'Блог', 'verbose_name_plural': 'Блоги', }, bases=('wagtailcore.page',), ), migrations.CreateModel( name='BlogPage', fields=[ ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page')), ('full_title', models.CharField(blank=True, help_text='До 150 символов', max_length=150, null=True, verbose_name='Полный заголовок')), ('short_lead', models.TextField(help_text='До 160 символов', max_length=160, verbose_name='Короткий лид')), ('full_lead', models.TextField(blank=True, help_text='До 250 символов', max_length=250, null=True, verbose_name='Полный лид')), ('count_view', models.PositiveIntegerField(default=0)), ('allowed_comments', models.BooleanField(default=True, verbose_name='Включить комментарии')), ('body', wagtail.wagtailcore.fields.StreamField((('h2', wagtail.wagtailcore.blocks.CharBlock(classname='title', icon='title', label='H2', template='content/stream_fields/h2.html')), ('embed', wagtail.wagtailembeds.blocks.EmbedBlock(icon='link', label='Эмбед')), ('image', wagtail.wagtailcore.blocks.StructBlock((('image', wagtail.wagtailimages.blocks.ImageChooserBlock(label='Фотография')), ('caption', wagtail.wagtailcore.blocks.RichTextBlock(label='Подпись'))), icon='image', label='Фотография', template='content/stream_fields/image.html')), ('quote_no_image', wagtail.wagtailcore.blocks.StructBlock((('quote', wagtail.wagtailcore.blocks.TextBlock(label='Цитата')),))), ('quote', wagtail.wagtailcore.blocks.StructBlock((('quote', wagtail.wagtailcore.blocks.TextBlock(label='Цитата')), ('author', wagtail.wagtailcore.blocks.CharBlock(label='Автор')), ('attribution', wagtail.wagtailcore.blocks.TextBlock(label='Подпись автора')), ('photo', wagtail.wagtailimages.blocks.ImageChooserBlock(label='Фотография'))))), ('read_also', wagtail.wagtailcore.blocks.StructBlock((('page', wagtail.wagtailcore.blocks.PageChooserBlock(label='Страница')),))), ('paragraph', wagtail.wagtailcore.blocks.RichTextBlock(label='Параграф', template='content/stream_fields/paragraph.html')), ('gallery', wagtail.wagtailcore.blocks.ListBlock(content.blocks.ImageBlock, icon='image', label='Галерея', template='content/stream_fields/gallery.html')), ('notes', wagtail.wagtailcore.blocks.ListBlock(wagtail.wagtailcore.blocks.TextBlock(label='Подпись'), template='content/stream_fields/notes.html'))))), ('show_in_news', models.BooleanField(default=False, verbose_name='Отображать в новостях')), ('old_id', models.IntegerField(blank=True, null=True)), ('authors', modelcluster.fields.ParentalManyToManyField(blank=True, related_name='blogs', to='content.Author', verbose_name='Автор')), ('category', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='posts', to='content.BlogCategory', verbose_name='Блог')), ('preview_picture', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='+', to='wagtailimages.Image', verbose_name='Основная иллюстрация')), ], options={ 'verbose_name': 'Пост', 'verbose_name_plural': 'Посты', }, bases=(wagtail.contrib.wagtailroutablepage.models.RoutablePageMixin, 'wagtailcore.page'), ), migrations.CreateModel( name='BlogPageTag', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('content_object', modelcluster.fields.ParentalKey(on_delete=django.db.models.deletion.CASCADE, related_name='tagged_items', to='content.BlogPage')), ('tag', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='content_blogpagetag_items', to='taggit.Tag')), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='NewsPage', fields=[ ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page')), ('full_title', models.CharField(blank=True, help_text='До 150 символов', max_length=150, null=True, verbose_name='Полный заголовок')), ('short_lead', models.TextField(help_text='До 160 символов', max_length=160, verbose_name='Короткий лид')), ('full_lead', models.TextField(blank=True, help_text='До 250 символов', max_length=250, null=True, verbose_name='Полный лид')), ('count_view', models.PositiveIntegerField(default=0)), ('allowed_comments', models.BooleanField(default=True, verbose_name='Включить комментарии')), ('body', wagtail.wagtailcore.fields.StreamField((('h2', wagtail.wagtailcore.blocks.CharBlock(classname='title', icon='title', label='H2', template='content/stream_fields/h2.html')), ('embed', wagtail.wagtailembeds.blocks.EmbedBlock(icon='link', label='Эмбед')), ('image', wagtail.wagtailcore.blocks.StructBlock((('image', wagtail.wagtailimages.blocks.ImageChooserBlock(label='Фотография')), ('caption', wagtail.wagtailcore.blocks.RichTextBlock(label='Подпись'))), icon='image', label='Фотография', template='content/stream_fields/image.html')), ('quote_no_image', wagtail.wagtailcore.blocks.StructBlock((('quote', wagtail.wagtailcore.blocks.TextBlock(label='Цитата')),))), ('quote', wagtail.wagtailcore.blocks.StructBlock((('quote', wagtail.wagtailcore.blocks.TextBlock(label='Цитата')), ('author', wagtail.wagtailcore.blocks.CharBlock(label='Автор')), ('attribution', wagtail.wagtailcore.blocks.TextBlock(label='Подпись автора')), ('photo', wagtail.wagtailimages.blocks.ImageChooserBlock(label='Фотография'))))), ('read_also', wagtail.wagtailcore.blocks.StructBlock((('page', wagtail.wagtailcore.blocks.PageChooserBlock(label='Страница')),))), ('paragraph', wagtail.wagtailcore.blocks.RichTextBlock(label='Параграф', template='content/stream_fields/paragraph.html')), ('gallery', wagtail.wagtailcore.blocks.ListBlock(content.blocks.ImageBlock, icon='image', label='Галерея', template='content/stream_fields/gallery.html')), ('notes', wagtail.wagtailcore.blocks.ListBlock(wagtail.wagtailcore.blocks.TextBlock(label='Подпись'), template='content/stream_fields/notes.html'))))), ('show_in_news', models.BooleanField(default=False, verbose_name='Отображать в новостях')), ('old_id', models.IntegerField(blank=True, null=True)), ('authors', modelcluster.fields.ParentalManyToManyField(blank=True, related_name='news', to='content.Author', verbose_name='Авторы')), ('preview_picture', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='+', to='wagtailimages.Image', verbose_name='Основная иллюстрация')), ('rubric', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='news', to='content.ArticleIndex', verbose_name='Рубрика')), ], options={ 'verbose_name': 'Новость', 'verbose_name_plural': 'Новости', }, bases=(wagtail.contrib.wagtailroutablepage.models.RoutablePageMixin, 'wagtailcore.page'), ), migrations.CreateModel( name='NewsPageTag', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('content_object', modelcluster.fields.ParentalKey(on_delete=django.db.models.deletion.CASCADE, related_name='tagged_items', to='content.NewsPage')), ('tag', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='content_newspagetag_items', to='taggit.Tag')), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='TagIndex', fields=[ ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page')), ], options={ 'verbose_name': 'Тег', 'verbose_name_plural': 'Теги', }, bases=('wagtailcore.page',), ), migrations.AddField( model_name='newspage', name='tags', field=modelcluster.contrib.taggit.ClusterTaggableManager(blank=True, help_text='A comma-separated list of tags.', through='content.NewsPageTag', to='taggit.Tag', verbose_name='Тэги'), ), migrations.AddField( model_name='blogpage', name='tags', field=modelcluster.contrib.taggit.ClusterTaggableManager(blank=True, help_text='A comma-separated list of tags.', through='content.BlogPageTag', to='taggit.Tag', verbose_name='Тэги'), ), migrations.AddField( model_name='articlepage', name='authors', field=modelcluster.fields.ParentalManyToManyField(blank=True, related_name='articles', to='content.Author', verbose_name='Авторы'), ), migrations.AddField( model_name='articlepage', name='preview_picture', field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='+', to='wagtailimages.Image', verbose_name='Основная иллюстрация'), ), migrations.AddField( model_name='articlepage', name='rubric', field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='articles', to='content.ArticleIndex', verbose_name='Рубрика'), ), migrations.AddField( model_name='articlepage', name='tags', field=modelcluster.contrib.taggit.ClusterTaggableManager(blank=True, help_text='A comma-separated list of tags.', through='content.ArticlePageTag', to='taggit.Tag', verbose_name='Тэги'), ), migrations.AddField( model_name='articleindex', name='tags', field=modelcluster.contrib.taggit.ClusterTaggableManager(blank=True, help_text='A comma-separated list of tags.', through='content.ArticleIndexTag', to='taggit.Tag', verbose_name='Тэги'), ), ]
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): dependencies = [ ('content', '0002_auto_20191213_1123'), ] operations = [ migrations.CreateModel( name='Article', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=120)), ('body', models.TextField()), ('active', models.BooleanField(default=True)), ('updated', models.DateTimeField(auto_now=True)), ('timestamp', models.DateTimeField(auto_now_add=True)), ], ), migrations.RenameField( model_name='post', old_name='content', new_name='desc', ), migrations.RemoveField( model_name='post', name='article_id', ), migrations.AddField( model_name='post', name='active', field=models.BooleanField(default=True), ), migrations.AlterField( model_name='post', name='category', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='content.Category'), ), migrations.AlterField( model_name='post', name='post_type', field=models.CharField(choices=[('image ', '图文'), ('video', '视频')], max_length=10), ), migrations.CreateModel( name='Topic', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=120)), ('title_pic', models.CharField(max_length=120)), ('desc', models.CharField(max_length=120)), ('active', models.BooleanField(default=True)), ('updated', models.DateTimeField(auto_now=True)), ('timestamp', models.DateTimeField(auto_now_add=True)), ('category', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='content.Category')), ], ), migrations.CreateModel( name='PostVideo', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('video', models.FileField(upload_to=content.models.post_video_upload)), ('updated', models.DateTimeField(auto_now=True)), ('timestamp', models.DateTimeField(auto_now_add=True)), ('post', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='content.Post')), ], ), migrations.AddField( model_name='post', name='article', field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='content.Article'), ), ]
class Migration(migrations.Migration): dependencies = [ ('wagtailcore', '0040_page_draft_title'), ('taggit', '0002_auto_20150616_2121'), ('wagtailimages', '0019_delete_filter'), ('content', '0036_blogcategory_short_description'), ] operations = [ migrations.CreateModel( name='EventIndex', fields=[ ('page_ptr', models.OneToOneField( auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page')), ], options={ 'abstract': False, }, bases=(content.models.MobileTemplateMixin, 'wagtailcore.page'), ), migrations.CreateModel( name='EventPage', fields=[ ('page_ptr', models.OneToOneField( auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page')), ('full_title', models.CharField(blank=True, help_text='До 150 символов', max_length=150, null=True, verbose_name='Полный заголовок')), ('short_lead', models.TextField(help_text='До 160 символов', max_length=300, verbose_name='Короткий лид')), ('full_lead', models.TextField(blank=True, help_text='До 250 символов', max_length=300, null=True, verbose_name='Полный лид')), ('count_view', models.PositiveIntegerField(default=0)), ('allowed_comments', models.BooleanField(default=True, verbose_name='Включить комментарии')), ('body', wagtail.wagtailcore.fields.StreamField( (('h2', wagtail.wagtailcore.blocks.CharBlock( classname='title', icon='title', label='H2', template='content/stream_fields/h2.html')), ('embed', wagtail.wagtailembeds.blocks.EmbedBlock(icon='link', label='Эмбед')), ('image', wagtail.wagtailcore.blocks.StructBlock( (('image', wagtail.wagtailimages.blocks.ImageChooserBlock( label='Фотография')), ('caption', wagtail.wagtailcore.blocks.RichTextBlock( label='Подпись', required=False))), icon='image', label='Фотография', template='content/stream_fields/image.html')), ('left_image', wagtail.wagtailcore.blocks.StructBlock( (('image', wagtail.wagtailimages.blocks.ImageChooserBlock( label='Фотография')), ('title', wagtail.wagtailcore.blocks.CharBlock( label='Заголовок', required=False)), ('notes', wagtail.wagtailcore.blocks.ListBlock( wagtail.wagtailcore.blocks.StructBlock( (('key', wagtail.wagtailcore.blocks.CharBlock( label='Заголовок')), ('value', wagtail.wagtailcore.blocks.CharBlock( label='Описание')))), label='Подписи'))), icon='image', label='Фотография слева', template='content/stream_fields/left_image.html')), ('paragraph', wagtail.wagtailcore.blocks.RichTextBlock( editor='tinymce', label='Параграф', language='ru', template='content/stream_fields/paragraph.html')), ('read_also', wagtail.wagtailcore.blocks.StructBlock( (('page', wagtail.wagtailcore.blocks.PageChooserBlock( label='Страница')), ))), ('gallery', wagtail.wagtailcore.blocks.ListBlock( content.blocks.ImageBlock, icon='image', label='Галерея', template='content/stream_fields/gallery.html')), ('notes', wagtail.wagtailcore.blocks.ListBlock( wagtail.wagtailcore.blocks.StructBlock( (('key', wagtail.wagtailcore.blocks.CharBlock( label='Заголовок')), ('value', wagtail.wagtailcore.blocks.CharBlock( label='Описание')))), label='Подписи', template='content/stream_fields/notes.html')), ('html_field', wagtail.wagtailcore.blocks.TextBlock( help_text= 'Поле для html, css и js (может использоваться для сложных embed-кодов)', icon='code', label='html врезка', template='content/stream_fields/html_field.html')))) ), ('show_in_news', models.BooleanField(default=False, verbose_name='Отображать в новостях')), ('show_in_promo', models.BooleanField(default=False, verbose_name='Отображать в promotion')), ('old_id', models.IntegerField(blank=True, null=True)), ('published_at', models.DateTimeField(blank=True, null=True, verbose_name='Дата/время публикации')), ('active_from', models.DateTimeField(verbose_name='Дата и время начала')), ('active_to', models.DateTimeField(verbose_name='Дата и время конца')), ('preview_picture', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='+', to='wagtailimages.Image', verbose_name='Основная иллюстрация')), ], options={ 'verbose_name': 'Событие', 'verbose_name_plural': 'События', }, bases=( content.models.MobileTemplateMixin, wagtail.contrib.wagtailroutablepage.models.RoutablePageMixin, 'wagtailcore.page'), ), migrations.CreateModel( name='EventPageTag', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('content_object', modelcluster.fields.ParentalKey( on_delete=django.db.models.deletion.CASCADE, related_name='tagged_items', to='content.EventPage')), ('tag', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='content_eventpagetag_items', to='taggit.Tag')), ], options={ 'abstract': False, }, ), migrations.AddField( model_name='eventpage', name='tags', field=modelcluster.contrib.taggit.ClusterTaggableManager( blank=True, help_text='A comma-separated list of tags.', through='content.EventPageTag', to='taggit.Tag', verbose_name='Теги'), ), ]
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')), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [] operations = [ migrations.CreateModel( name='Article', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField( max_length=250, verbose_name= b'\xd0\x9d\xd0\xb0\xd0\xb7\xd0\xb2\xd0\xb0\xd0\xbd\xd0\xb8\xd0\xb5' )), ('image', content.fields.ThumbnailImageField( blank=True, upload_to=content.models.make_upload_path, verbose_name= b'\xd0\x98\xd0\xb7\xd0\xbe\xd0\xb1\xd1\x80\xd0\xb0\xd0\xb6\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5' )), ('title', models.CharField( blank=True, max_length=250, verbose_name= b'\xd0\x97\xd0\xb0\xd0\xb3\xd0\xbe\xd0\xbb\xd0\xbe\xd0\xb2\xd0\xbe\xd0\xba \xd0\xb2 \xd0\xb1\xd1\x80\xd0\xb0\xd1\x83\xd0\xb7\xd0\xb5\xd1\x80\xd0\xb5' )), ('metaKey', models.CharField( blank=True, max_length=250, verbose_name= b'\xd0\x9a\xd0\xbb\xd1\x8e\xd1\x87\xd0\xb5\xd0\xb2\xd1\x8b\xd0\xb5 \xd1\x81\xd0\xbb\xd0\xbe\xd0\xb2\xd0\xb0' )), ('metaDesc', models.CharField( blank=True, max_length=250, verbose_name= b'\xd0\x9e\xd0\xbf\xd0\xb8\xd1\x81\xd0\xb0\xd0\xbd\xd0\xb8\xd0\xb5' )), ('slug', models.CharField(blank=True, max_length=250, verbose_name=b'\xd0\xa3\xd1\x80\xd0\xbb')), ('short_text', tinymce.models.HTMLField( blank=True, verbose_name= b'\xd0\x9a\xd0\xbe\xd1\x80\xd0\xbe\xd1\x82\xd0\xba\xd0\xbe\xd0\xb5 \xd0\xbe\xd0\xbf\xd0\xb8\xd1\x81\xd0\xb0\xd0\xbd\xd0\xb8\xd0\xb5' )), ('full_text', tinymce.models.HTMLField( blank=True, verbose_name= b'\xd0\x9f\xd0\xbe\xd0\xbb\xd0\xbd\xd0\xbe\xd0\xb5 \xd0\xbe\xd0\xbf\xd0\xb8\xd1\x81\xd0\xb0\xd0\xbd\xd0\xb8\xd0\xb5' )), ('published', models.BooleanField( verbose_name= b'\xd0\x9e\xd0\xbf\xd1\x83\xd0\xb1\xd0\xbb\xd0\xb8\xd0\xba\xd0\xbe\xd0\xb2\xd0\xb0\xd0\xbd' )), ('ordering', models.IntegerField( blank=True, default=0, null=True, verbose_name= b'\xd0\x9f\xd0\xbe\xd1\x80\xd1\x8f\xd0\xb4\xd0\xbe\xd0\xba \xd1\x81\xd0\xbe\xd1\x80\xd1\x82\xd0\xb8\xd1\x80\xd0\xbe\xd0\xb2\xd0\xba\xd0\xb8' )), ], options={ 'verbose_name_plural': '\u0421\u0442\u0440\u0430\u043d\u0438\u0446\u044b', }, ), migrations.CreateModel( name='Category', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField( max_length=250, verbose_name= b'\xd0\x9d\xd0\xb0\xd0\xb7\xd0\xb2\xd0\xb0\xd0\xbd\xd0\xb8\xd0\xb5' )), ('title', models.CharField( blank=True, max_length=250, verbose_name= b'\xd0\x97\xd0\xb0\xd0\xb3\xd0\xbe\xd0\xbb\xd0\xbe\xd0\xb2\xd0\xbe\xd0\xba \xd0\xb2 \xd0\xb1\xd1\x80\xd0\xb0\xd1\x83\xd0\xb7\xd0\xb5\xd1\x80\xd0\xb5' )), ('metakey', models.CharField( blank=True, max_length=250, verbose_name= b'\xd0\x9a\xd0\xbb\xd1\x8e\xd1\x87\xd0\xb5\xd0\xb2\xd1\x8b\xd0\xb5 \xd1\x81\xd0\xbb\xd0\xbe\xd0\xb2\xd0\xb0' )), ('metadesc', models.CharField( blank=True, max_length=250, verbose_name= b'\xd0\x9c\xd0\xb5\xd1\x82\xd0\xb0 \xd0\xbe\xd0\xbf\xd0\xb8\xd1\x81\xd0\xb0\xd0\xbd\xd0\xb8\xd0\xb5' )), ('slug', models.CharField(blank=True, max_length=250, verbose_name=b'\xd0\xa3\xd1\x80\xd0\xbb')), ('published', models.BooleanField( verbose_name= b'\xd0\x9e\xd0\xbf\xd1\x83\xd0\xb1\xd0\xbb\xd0\xb8\xd0\xba\xd0\xbe\xd0\xb2\xd0\xb0\xd0\xbd' )), ('ordering', models.IntegerField( blank=True, default=0, null=True, verbose_name= b'\xd0\x9f\xd0\xbe\xd1\x80\xd1\x8f\xd0\xb4\xd0\xbe\xd0\xba \xd1\x81\xd0\xbe\xd1\x80\xd1\x82\xd0\xb8\xd1\x80\xd0\xbe\xd0\xb2\xd0\xba\xd0\xb8' )), ('lft', models.PositiveIntegerField(db_index=True, editable=False)), ('rght', models.PositiveIntegerField(db_index=True, editable=False)), ('tree_id', models.PositiveIntegerField(db_index=True, editable=False)), ('level', models.PositiveIntegerField(db_index=True, editable=False)), ('parent', mptt.fields.TreeForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='content.Category', verbose_name= '\u0420\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u0430\u044f \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f' )), ], options={ 'verbose_name_plural': '\u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438', }, managers=[ ('objects', django.db.models.manager.Manager()), ], ), migrations.CreateModel( name='Menu', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField( max_length=200, verbose_name= b'\xd0\x9d\xd0\xb0\xd0\xb7\xd0\xb2\xd0\xb0\xd0\xbd\xd0\xb8\xd0\xb5' )), ], options={ 'verbose_name_plural': '\u041c\u0435\u043d\u044e', }, ), migrations.CreateModel( name='MenuItem', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField( max_length=200, verbose_name= b'\xd0\x9d\xd0\xb0\xd0\xb7\xd0\xb2\xd0\xb0\xd0\xbd\xd0\xb8\xd0\xb5' )), ('slug', models.CharField(blank=True, max_length=250, verbose_name=b'\xd0\xa3\xd1\x80\xd0\xbb')), ('published', models.BooleanField( verbose_name= b'\xd0\x9e\xd0\xbf\xd1\x83\xd0\xb1\xd0\xbb\xd0\xb8\xd0\xba\xd0\xbe\xd0\xb2\xd0\xb0\xd0\xbd' )), ('ordering', models.IntegerField( blank=True, default=0, null=True, verbose_name= b'\xd0\x9f\xd0\xbe\xd1\x80\xd1\x8f\xd0\xb4\xd0\xbe\xd0\xba \xd1\x81\xd0\xbe\xd1\x80\xd1\x82\xd0\xb8\xd1\x80\xd0\xbe\xd0\xb2\xd0\xba\xd0\xb8' )), ('lft', models.PositiveIntegerField(db_index=True, editable=False)), ('rght', models.PositiveIntegerField(db_index=True, editable=False)), ('tree_id', models.PositiveIntegerField(db_index=True, editable=False)), ('level', models.PositiveIntegerField(db_index=True, editable=False)), ('menu', models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='content.Menu', verbose_name=b'\xd0\x9c\xd0\xb5\xd0\xbd\xd1\x8e')), ('parent', mptt.fields.TreeForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='children', to='content.MenuItem', verbose_name= '\u0420\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u043f\u0443\u043d\u043a\u0442 \u043c\u0435\u043d\u044e' )), ], options={ 'verbose_name_plural': '\u041f\u0443\u043d\u043a\u0442\u044b \u043c\u0435\u043d\u044e', }, managers=[ ('objects', django.db.models.manager.Manager()), ], ), migrations.CreateModel( name='Snipet', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField( max_length=250, verbose_name= b'\xd0\x9d\xd0\xb0\xd0\xb7\xd0\xb2\xd0\xb0\xd0\xbd\xd0\xb8\xd0\xb5' )), ('text', tinymce.models.HTMLField( blank=True, verbose_name= b'\xd0\x9a\xd0\xbe\xd0\xb4 \xd1\x81\xd0\xbd\xd0\xb8\xd0\xbf\xd0\xb5\xd1\x82\xd0\xb0' )), ('published', models.BooleanField( verbose_name= b'\xd0\x9e\xd0\xbf\xd1\x83\xd0\xb1\xd0\xbb\xd0\xb8\xd0\xba\xd0\xbe\xd0\xb2\xd0\xb0\xd0\xbd' )), ('ordering', models.IntegerField( blank=True, default=0, null=True, verbose_name= b'\xd0\x9f\xd0\xbe\xd1\x80\xd1\x8f\xd0\xb4\xd0\xbe\xd0\xba \xd1\x81\xd0\xbe\xd1\x80\xd1\x82\xd0\xb8\xd1\x80\xd0\xbe\xd0\xb2\xd0\xba\xd0\xb8' )), ], options={ 'verbose_name': '\u0421\u043d\u0438\u043f\u0435\u0442', 'verbose_name_plural': '\u041a\u0443\u0441\u043a\u0438 \u043a\u043e\u0434\u0430', }, ), migrations.AddField( model_name='article', name='category', field=models.ForeignKey( blank=True, on_delete=django.db.models.deletion.CASCADE, to='content.Category', verbose_name= b'\xd0\x9a\xd0\xb0\xd1\x82\xd0\xb5\xd0\xb3\xd0\xbe\xd1\x80\xd0\xb8\xd1\x8f' ), ), ]