コード例 #1
0
ファイル: 0003_albumn_image.py プロジェクト: vollov/ocbl.ca
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')),
            ],
        ),
    ]
コード例 #2
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='PEvent',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=100)),
                ('email', models.EmailField(max_length=100)),
                ('contact', models.CharField(max_length=10)),
                ('image', models.ImageField(upload_to='pictures/')),
            ],
        ),
        migrations.CreateModel(
            name='WEvent',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=100)),
                ('email', models.EmailField(max_length=100)),
                ('contact', models.CharField(max_length=10)),
                ('docfile', models.FileField(upload_to='uploads/%Y/%m/%d', validators=[content.models.WEvent.validate_file_extension])),
            ],
        ),
    ]
class Migration(migrations.Migration):

    dependencies = [
        ('content', '0001_initial'),
    ]

    operations = [
        migrations.RemoveField(
            model_name='post',
            name='image',
        ),
        migrations.RemoveField(
            model_name='post',
            name='image_height',
        ),
        migrations.RemoveField(
            model_name='post',
            name='image_width',
        ),
        migrations.CreateModel(
            name='PostImage',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('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')),
                ('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')),
            ],
        ),
    ]
コード例 #4
0
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)),
            ],
        ),
    ]
コード例 #5
0
class Migration(migrations.Migration):

    dependencies = [
        ('content', '0036_contactusemail'),
    ]

    operations = [
        migrations.AlterField(
            model_name='header',
            name='image',
            field=models.ImageField(
                upload_to='header/',
                validators=[content.models.validate_image_size]),
        ),
        migrations.AlterField(
            model_name='resource',
            name='image',
            field=models.ImageField(
                blank=True,
                null=True,
                upload_to=content.models.get_image_path,
                validators=[content.models.validate_image_size]),
        ),
        migrations.AlterField(
            model_name='resourcelistdetail',
            name='image',
            field=models.ImageField(
                upload_to='resource_header/',
                validators=[content.models.validate_image_size]),
        ),
        migrations.AlterField(
            model_name='section',
            name='section_image',
            field=models.ImageField(
                upload_to='section/',
                validators=[content.models.validate_image_size]),
        ),
        migrations.AlterField(
            model_name='section',
            name='subquote_image',
            field=models.ImageField(
                upload_to='section/',
                validators=[content.models.validate_image_size]),
        ),
    ]
コード例 #6
0
class Migration(migrations.Migration):

    dependencies = [
        ('content', '0004_auto_20170113_2334'),
    ]

    operations = [
        migrations.AddField(
            model_name='meta',
            name='favicon',
            field=models.ImageField(blank=True,
                                    upload_to=content.models.make_upload_path,
                                    verbose_name='favicon.ico'),
        ),
        migrations.AddField(
            model_name='slide',
            name='image',
            field=models.ImageField(blank=True,
                                    upload_to=content.models.make_upload_path,
                                    verbose_name='Image'),
        ),
    ]
コード例 #7
0
class Migration(migrations.Migration):

    dependencies = [
        ('content', '0014_auto_20180402_1743'),
    ]

    operations = [
        migrations.AlterModelOptions(
            name='profile',
            options={
                'verbose_name': 'Профиль',
                'verbose_name_plural': 'Профили'
            },
        ),
        migrations.AlterModelOptions(
            name='profileimage',
            options={
                'verbose_name': 'Изображение',
                'verbose_name_plural': 'Изображения'
            },
        ),
        migrations.AlterField(
            model_name='profile',
            name='user',
            field=models.OneToOneField(
                on_delete=django.db.models.deletion.CASCADE,
                related_name='profile',
                to=settings.AUTH_USER_MODEL,
                verbose_name='Пользователь'),
        ),
        migrations.AlterField(
            model_name='profileimage',
            name='file',
            field=models.ImageField(
                blank=True,
                null=True,
                upload_to=content.models.generate_file_name,
                verbose_name='Изображение'),
        ),
        migrations.AlterField(
            model_name='profileimage',
            name='profile',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name='images',
                to='content.Profile',
                verbose_name='Профиль'),
        ),
    ]
コード例 #8
0
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')),
                ('name', models.CharField(max_length=35)),
                ('name_ar', models.CharField(max_length=35)),
                ('age_rating', models.CharField(max_length=3)),
                ('difficulty', models.IntegerField(validators=[django.core.validators.MaxValueValidator(5, 'Maximum Limit is 5')])),
                ('created_date', models.DateTimeField(default=datetime.datetime.now)),
                ('creator_id', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='creator', to=settings.AUTH_USER_MODEL)),
                ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='content.Category')),
            ],
        ),
        migrations.CreateModel(
            name='Question',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=35, null=True)),
                ('name_ar', models.CharField(blank=True, max_length=35, null=True)),
                ('age_rating', models.CharField(max_length=3)),
                ('Correct_answer', models.CharField(max_length=150)),
                ('difficulty', models.IntegerField(validators=[django.core.validators.MaxValueValidator(5, 'Maximum Limit is 5')])),
                ('Category_parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='content.Category')),
                ('creator_id', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='maker', to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='QuestionImage',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('question_image', models.ImageField(blank=True, null=True, upload_to=content.models.get_image_path)),
                ('Question', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='content.Question')),
            ],
        ),
        migrations.AddField(
            model_name='question',
            name='question_image',
            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='Image', to='content.QuestionImage'),
        ),
    ]
コード例 #9
0
class Migration(migrations.Migration):

    dependencies = [
        ('content', '0008_resourcelistdetail'),
    ]

    operations = [
        migrations.AddField(
            model_name='resource',
            name='image',
            field=models.ImageField(blank=True,
                                    null=True,
                                    upload_to=content.models.get_image_path),
        ),
    ]
コード例 #10
0
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),
        ),
    ]
コード例 #11
0
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)),
            ],
        ),
    ]
コード例 #12
0
class Migration(migrations.Migration):

    dependencies = [
        ('content', '0017_auto_20180402_2016'),
    ]

    operations = [
        migrations.AddField(
            model_name='profile',
            name='avatar',
            field=models.ImageField(
                blank=True,
                null=True,
                upload_to=content.models.generate_file_name,
                verbose_name='Юзерпик'),
        ),
    ]
コード例 #13
0
class Migration(migrations.Migration):

    dependencies = [
        ('content', '0001_initial'),
    ]

    operations = [
        migrations.RemoveField(
            model_name='questionimage',
            name='Question',
        ),
        migrations.AlterField(
            model_name='question',
            name='question_image',
            field=models.ImageField(blank=True,
                                    null=True,
                                    upload_to=content.models.get_image_path),
        ),
        migrations.DeleteModel(name='QuestionImage', ),
    ]
コード例 #14
0
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',
            },
        ),
    ]
コード例 #15
0
class Migration(migrations.Migration):

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name='Author',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(default='le author name', max_length=200)),
                ('image',
                 models.ImageField(
                     blank=True,
                     null=True,
                     upload_to=content.models.author_image_directory_path)),
                ('bio', ckeditor.fields.RichTextField(default='author bio')),
                ('slug', models.SlugField(max_length=200, unique=True)),
            ],
        ),
        migrations.CreateModel(
            name='Classification',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('discipline',
                 models.CharField(
                     default='le discipline',
                     help_text='topic discipline (ex: Neuroscience)',
                     max_length=100)),
                ('academic_field',
                 models.CharField(choices=[('S', 'Sciences'),
                                           ('H', 'Humanities')],
                                  help_text='Sciences or Humanities',
                                  max_length=2)),
            ],
        ),
        migrations.CreateModel(
            name='Episode',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('unique_id',
                 models.CharField(
                     blank=True,
                     default=uuid.uuid4,
                     help_text=
                     'This determines the Disqus comment section. Need to set this manually for old KiW episodes (that were on Flask)',
                     max_length=100,
                     unique=True)),
                ('title',
                 models.CharField(default='le title',
                                  max_length=100,
                                  unique=True)),
                ('topic_image',
                 models.ImageField(
                     blank=True,
                     null=True,
                     upload_to=content.models.episode_image_directory_path,
                     verbose_name='Cover image')),
                ('topic_image_latest',
                 models.ImageField(
                     blank=True,
                     help_text="The cover image for 'featured' on the homepage",
                     null=True,
                     upload_to=content.models.episode_image_directory_path,
                     verbose_name="'featured episode' cover image")),
                ('topic_image_box',
                 models.ImageField(
                     blank=True,
                     help_text=
                     'This is for the circular audio player on mobile',
                     null=True,
                     upload_to=content.models.episode_image_directory_path,
                     verbose_name='Mobile circular image')),
                ('transcript',
                 ckeditor_uploader.fields.RichTextUploadingField(
                     blank=True, default='le transcript', null=True)),
                ('abstract',
                 ckeditor.fields.RichTextField(default='le abstract')),
                ('by_in_colour',
                 models.CharField(choices=[('w', 'white'), ('b', 'black')],
                                  default='w',
                                  max_length=1,
                                  verbose_name="'by/in' colour")),
                ('author_name_size',
                 models.CharField(choices=[('n', 'normal'), ('s', 'smaller')],
                                  default='n',
                                  max_length=1)),
                ('image_credits',
                 ckeditor.fields.RichTextField(
                     blank=True,
                     default='',
                     help_text=
                     "Example of the correct format: The Morgan Library & Museum, New York. By <a target='_blank' href='https://commons.wikimedia.org/wiki/File:The_Morgan_Library_%26_Museum.jpg'>Paolatrabanco</a> [<a target='_blank' href='https://creativecommons.org/licenses/by-sa/4.0/deed.en'>CC BY-SA 4.0</a>]"
                 )),
                ('narration_credits',
                 models.CharField(
                     blank=True,
                     default='',
                     help_text=
                     'Example of correct format: Mary Wellesley and Vidish Athavale',
                     max_length=300)),
                ('music_credits',
                 models.CharField(
                     blank=True,
                     default='',
                     help_text=
                     'Example of correct format: Greg Joy and Neil Cross',
                     max_length=300)),
                ('video_embed',
                 models.CharField(blank=True,
                                  default='',
                                  max_length=300,
                                  verbose_name='Youtube URL')),
                ('audio_mp3', models.FileField(blank=True, upload_to='')),
                ('status',
                 models.CharField(choices=[('d', 'Draft'), ('p', 'Published'),
                                           ('v', 'Previewed')],
                                  default='d',
                                  max_length=1)),
                ('pub_date',
                 models.DateTimeField(default=django.utils.timezone.now,
                                      verbose_name='date published')),
                ('slug', models.SlugField(max_length=120, unique=True)),
                ('old_KiW_slug',
                 models.CharField(
                     blank=True,
                     help_text=
                     'For old episodes (that were on Flask): need to fill this in so that the old links on social media and stuff still work',
                     max_length=200)),
                ('author',
                 models.ForeignKey(null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   related_name='first_author',
                                   to='content.Author')),
                ('classification',
                 models.ManyToManyField(blank=True,
                                        to='content.Classification')),
            ],
        ),
        migrations.CreateModel(
            name='FlashSeminar',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title',
                 models.CharField(default='le title',
                                  max_length=100,
                                  unique=True)),
                ('event_date',
                 models.DateTimeField(default=django.utils.timezone.now)),
                ('event_location',
                 models.CharField(default='somewhere', max_length=400)),
                ('description',
                 ckeditor.fields.RichTextField(default='a flash seminar!')),
                ('status',
                 models.CharField(choices=[('d', 'Draft'), ('p', 'Published'),
                                           ('v', 'Previewed')],
                                  default='d',
                                  max_length=1)),
                ('slug',
                 models.SlugField(default='le slug',
                                  max_length=120,
                                  unique=True)),
                ('episode',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='content.Episode')),
            ],
        ),
        migrations.CreateModel(
            name='Season',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title',
                 models.CharField(default='Season title', max_length=100)),
                ('abstract',
                 ckeditor.fields.RichTextField(
                     default='Description of the season')),
                ('image',
                 models.ImageField(
                     blank=True,
                     null=True,
                     upload_to=content.models.seasons_image_directory_path,
                     verbose_name='Season image')),
                ('pub_date',
                 models.DateTimeField(default=django.utils.timezone.now,
                                      verbose_name='date published')),
            ],
        ),
        migrations.AddField(
            model_name='episode',
            name='season',
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                to='content.Season'),
        ),
        migrations.AddField(
            model_name='episode',
            name='second_author',
            field=models.ForeignKey(
                blank=True,
                help_text='A second author is optional',
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                related_name='second_author',
                to='content.Author'),
        ),
    ]
コード例 #16
0
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='Категория статьи'),
        ),
    ]
コード例 #17
0
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')]),
        ),
    ]
コード例 #18
0
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'),
        ),
    ]
コード例 #19
0
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')),
            ],
        ),
    ]
コード例 #20
0
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')),
            ],
        ),
    ]
コード例 #21
0
class Migration(migrations.Migration):

    dependencies = [
        ('wagtailcore', '0040_page_draft_title'),
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ('taggit', '0002_auto_20150616_2121'),
        ('content', '0044_tagindex_body'),
    ]

    operations = [
        migrations.CreateModel(
            name='CustomImage',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title', models.CharField(max_length=255,
                                           verbose_name='title')),
                ('file',
                 models.ImageField(
                     height_field='height',
                     upload_to=wagtail.wagtailimages.models.get_upload_to,
                     verbose_name='file',
                     width_field='width')),
                ('width',
                 models.IntegerField(editable=False, verbose_name='width')),
                ('height',
                 models.IntegerField(editable=False, verbose_name='height')),
                ('created_at',
                 models.DateTimeField(auto_now_add=True,
                                      db_index=True,
                                      verbose_name='created at')),
                ('focal_point_x',
                 models.PositiveIntegerField(blank=True, null=True)),
                ('focal_point_y',
                 models.PositiveIntegerField(blank=True, null=True)),
                ('focal_point_width',
                 models.PositiveIntegerField(blank=True, null=True)),
                ('focal_point_height',
                 models.PositiveIntegerField(blank=True, null=True)),
                ('file_size',
                 models.PositiveIntegerField(editable=False, null=True)),
                ('collection',
                 models.ForeignKey(
                     default=wagtail.wagtailcore.models.get_root_collection_id,
                     on_delete=django.db.models.deletion.CASCADE,
                     related_name='+',
                     to='wagtailcore.Collection',
                     verbose_name='collection')),
                ('tags',
                 taggit.managers.TaggableManager(blank=True,
                                                 help_text=None,
                                                 through='taggit.TaggedItem',
                                                 to='taggit.Tag',
                                                 verbose_name='tags')),
                ('uploaded_by_user',
                 models.ForeignKey(
                     blank=True,
                     editable=False,
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     to=settings.AUTH_USER_MODEL,
                     verbose_name='uploaded by user')),
            ],
            options={
                'abstract': False,
            },
            bases=(wagtail.wagtailsearch.index.Indexed, models.Model),
        ),
        migrations.CreateModel(
            name='CustomRendition',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('filter_spec', models.CharField(db_index=True,
                                                 max_length=255)),
                ('file',
                 models.ImageField(height_field='height',
                                   upload_to=wagtail.wagtailimages.models.
                                   get_rendition_upload_to,
                                   width_field='width')),
                ('width', models.IntegerField(editable=False)),
                ('height', models.IntegerField(editable=False)),
                ('focal_point_key',
                 models.CharField(blank=True,
                                  default='',
                                  editable=False,
                                  max_length=16)),
                ('image',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='renditions',
                                   to='content.CustomImage')),
            ],
        ),
        migrations.AlterField(
            model_name='articlepage',
            name='body',
            field=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.CharBlock(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')),
                 ('anchor_field',
                  wagtail.wagtailcore.blocks.static_block.StaticBlock(
                      admin_text=
                      'Якорь (передергивает скрипты аналитики и баннеры)',
                      icon='repeat',
                      label='Якорь',
                      template='content/stream_fields/anchor_field.html')),
                 ('box_field',
                  wagtail.wagtailcore.blocks.StructBlock(
                      (('title',
                        wagtail.wagtailcore.blocks.CharBlock(
                            label='Заголовок')),
                       ('body',
                        wagtail.wagtailcore.blocks.RichTextBlock(
                            editor='tinymce',
                            label='Содержание',
                            language='ru',
                            required=True))))),
                 ('blockquote',
                  wagtail.wagtailcore.blocks.CharBlock(
                      icon='openquote',
                      label='Цитата',
                      template='content/stream_fields/blockquote.html')))),
        ),
        migrations.AlterField(
            model_name='blogpage',
            name='body',
            field=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.CharBlock(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')),
                 ('anchor_field',
                  wagtail.wagtailcore.blocks.static_block.StaticBlock(
                      admin_text=
                      'Якорь (передергивает скрипты аналитики и баннеры)',
                      icon='repeat',
                      label='Якорь',
                      template='content/stream_fields/anchor_field.html')),
                 ('box_field',
                  wagtail.wagtailcore.blocks.StructBlock(
                      (('title',
                        wagtail.wagtailcore.blocks.CharBlock(
                            label='Заголовок')),
                       ('body',
                        wagtail.wagtailcore.blocks.RichTextBlock(
                            editor='tinymce',
                            label='Содержание',
                            language='ru',
                            required=True))))),
                 ('blockquote',
                  wagtail.wagtailcore.blocks.CharBlock(
                      icon='openquote',
                      label='Цитата',
                      template='content/stream_fields/blockquote.html')))),
        ),
        migrations.AlterField(
            model_name='eventpage',
            name='body',
            field=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.CharBlock(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')),
                 ('anchor_field',
                  wagtail.wagtailcore.blocks.static_block.StaticBlock(
                      admin_text=
                      'Якорь (передергивает скрипты аналитики и баннеры)',
                      icon='repeat',
                      label='Якорь',
                      template='content/stream_fields/anchor_field.html')),
                 ('box_field',
                  wagtail.wagtailcore.blocks.StructBlock(
                      (('title',
                        wagtail.wagtailcore.blocks.CharBlock(
                            label='Заголовок')),
                       ('body',
                        wagtail.wagtailcore.blocks.RichTextBlock(
                            editor='tinymce',
                            label='Содержание',
                            language='ru',
                            required=True))))),
                 ('blockquote',
                  wagtail.wagtailcore.blocks.CharBlock(
                      icon='openquote',
                      label='Цитата',
                      template='content/stream_fields/blockquote.html')))),
        ),
        migrations.AlterField(
            model_name='issuepage',
            name='body',
            field=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.CharBlock(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')),
                 ('anchor_field',
                  wagtail.wagtailcore.blocks.static_block.StaticBlock(
                      admin_text=
                      'Якорь (передергивает скрипты аналитики и баннеры)',
                      icon='repeat',
                      label='Якорь',
                      template='content/stream_fields/anchor_field.html')),
                 ('box_field',
                  wagtail.wagtailcore.blocks.StructBlock(
                      (('title',
                        wagtail.wagtailcore.blocks.CharBlock(
                            label='Заголовок')),
                       ('body',
                        wagtail.wagtailcore.blocks.RichTextBlock(
                            editor='tinymce',
                            label='Содержание',
                            language='ru',
                            required=True))))),
                 ('blockquote',
                  wagtail.wagtailcore.blocks.CharBlock(
                      icon='openquote',
                      label='Цитата',
                      template='content/stream_fields/blockquote.html')))),
        ),
        migrations.AlterField(
            model_name='newspage',
            name='body',
            field=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.CharBlock(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')),
                 ('anchor_field',
                  wagtail.wagtailcore.blocks.static_block.StaticBlock(
                      admin_text=
                      'Якорь (передергивает скрипты аналитики и баннеры)',
                      icon='repeat',
                      label='Якорь',
                      template='content/stream_fields/anchor_field.html')),
                 ('box_field',
                  wagtail.wagtailcore.blocks.StructBlock(
                      (('title',
                        wagtail.wagtailcore.blocks.CharBlock(
                            label='Заголовок')),
                       ('body',
                        wagtail.wagtailcore.blocks.RichTextBlock(
                            editor='tinymce',
                            label='Содержание',
                            language='ru',
                            required=True))))),
                 ('blockquote',
                  wagtail.wagtailcore.blocks.CharBlock(
                      icon='openquote',
                      label='Цитата',
                      template='content/stream_fields/blockquote.html')))),
        ),
        migrations.AlterUniqueTogether(
            name='customrendition',
            unique_together=set([('image', 'filter_spec', 'focal_point_key')]),
        ),
    ]