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): dependencies = [ ('content', '0004_auto_20180527_1349'), ] operations = [ migrations.AlterField( model_name='article', name='content', field=models.TextField(blank=True, default='', null=True), ), migrations.AlterField( model_name='article', name='created_at', field=models.ForeignKey(blank=True, default=None, null=True, on_delete=models.SET(content.models.get_sentinel_user), related_name='+', to=settings.AUTH_USER_MODEL), ), migrations.AlterField( model_name='article', name='description', field=models.TextField(blank=True, default='', null=True), ), migrations.AlterField( model_name='article', name='edited_at', field=models.ForeignKey(blank=True, default=None, null=True, on_delete=models.SET(content.models.get_sentinel_user), related_name='+', to=settings.AUTH_USER_MODEL), ), migrations.AlterField( model_name='article', name='img_path', field=models.ImageField(blank=True, default='', null=True, upload_to='article/imgs'), ), migrations.AlterField( model_name='article', name='img_url', field=models.URLField(blank=True, default='', null=True), ), migrations.AlterField( model_name='article', name='intro', field=models.TextField(blank=True, default='', null=True), ), migrations.AlterField( model_name='article', name='published_at', field=models.ForeignKey(blank=True, default=None, null=True, on_delete=models.SET(content.models.get_sentinel_user), related_name='+', 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 = [ 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='CMSAuthorContent', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('content_title', models.CharField(blank=True, max_length=30)), ('content_body', models.TextField(blank=True, max_length=300)), ('content_summary', models.TextField(blank=True, max_length=60)), ('content_file_pdf', models.FileField(blank=True, upload_to=content.models.upload_location)), ('content_category', models.CharField(blank=True, max_length=50)), ('date_published', models.DateTimeField(auto_now_add=True, verbose_name='date published')), ('date_updated', models.DateTimeField(auto_now=True, verbose_name='date updated')), ('slug', models.SlugField(blank=True, unique=True)), ('author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], ), ]
class Migration(migrations.Migration): dependencies = [ ('content', '0001_initial'), ] operations = [ migrations.AlterField( model_name='todolist', name='description', field=models.TextField( validators=[content.models.min_length_1_validator]), ), migrations.AlterField( model_name='todolist', name='title', field=models.CharField( max_length=100, validators=[content.models.min_length_1_validator]), ), ]
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='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 = [ ('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='Document', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('time_created', models.DateTimeField(auto_now_add=True)), ('title', models.CharField(blank=True, max_length=300)), ('author', models.CharField(blank=True, max_length=200)), ('date_published', models.DateField( blank=True, help_text='Date on which the document was published', null=True)), ('file', models.FileField(blank=True, upload_to='documents/')), ('link', models.URLField( blank=True, help_text='Link to document if external file')), ('description', models.TextField( blank=True, help_text='Text to describe contents of the document')), ('tags', django.contrib.postgres.fields.ArrayField( base_field=models.CharField( max_length=100, validators=[content.models.validate_tag]), blank=True, db_index=True, null=True, size=None)), ], ), migrations.CreateModel( name='Image', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('time_created', models.DateTimeField(auto_now_add=True, db_index=True)), ('image', versatileimagefield.fields.VersatileImageField( height_field='height', upload_to='images/', verbose_name='Image', width_field='width')), ('caption', models.TextField(blank=True)), ('height', models.PositiveIntegerField(blank=True, null=True, verbose_name='Image Height')), ('width', models.PositiveIntegerField(blank=True, null=True, verbose_name='Image Width')), ('tags', django.contrib.postgres.fields.ArrayField( base_field=models.CharField( max_length=100, validators=[content.models.validate_tag]), blank=True, db_index=True, null=True, size=None)), ], ), ]
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): 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): 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='Теги'), ), ]