Esempio n. 1
0
class Migration(migrations.Migration):

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name='Category',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=255, unique=True)),
            ],
        ),
        migrations.CreateModel(
            name='File',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=255, unique=True)),
                ('file_path',
                 models.FileField(upload_to=content.models.content_file_name)),
                ('data_created',
                 models.DateTimeField(default=django.utils.timezone.now)),
                ('price', models.BigIntegerField()),
                ('description', models.TextField(blank=True, null=True)),
                ('order', models.IntegerField(default=0)),
            ],
            options={
                'ordering': ['order'],
            },
        ),
        migrations.CreateModel(
            name='Product',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=255, unique=True)),
                ('price', models.BigIntegerField()),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('description', models.TextField(blank=True, null=True)),
                ('categories', models.ManyToManyField(to='content.Category')),
            ],
            options={
                'ordering': ['-created_at'],
            },
        ),
    ]
class Migration(migrations.Migration):

    initial = True

    dependencies = []

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

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='Category',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=255, verbose_name='category name')),
                ('slug', models.SlugField(max_length=30, unique=True, verbose_name='category slug')),
            ],
        ),
        migrations.CreateModel(
            name='Comment',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('text', models.TextField(verbose_name='comment text')),
                ('pub_date', models.DateTimeField(auto_now_add=True, db_index=True, verbose_name='date published')),
            ],
            options={
                'ordering': ('pub_date',),
            },
        ),
        migrations.CreateModel(
            name='Genre',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=255, verbose_name='genre name')),
                ('slug', models.SlugField(max_length=30, unique=True, verbose_name='genre slug')),
            ],
        ),
        migrations.CreateModel(
            name='Review',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('text', models.TextField(verbose_name='review text')),
                ('score', models.IntegerField(validators=[django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(10)], verbose_name='title score')),
                ('pub_date', models.DateTimeField(auto_now_add=True, db_index=True, verbose_name='date published')),
            ],
            options={
                'ordering': ('pub_date',),
            },
        ),
        migrations.CreateModel(
            name='Title',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=255, verbose_name='title name')),
                ('year', models.IntegerField(db_index=True, default=0, validators=[content.models.validate_year], verbose_name='year of creation')),
                ('description', models.TextField(blank=True, verbose_name='title description')),
                ('category', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='category_titles', to='content.Category', verbose_name='category')),
                ('genre', models.ManyToManyField(blank=True, related_name='genre_titles', to='content.Genre', verbose_name='genre')),
            ],
            options={
                'ordering': ('year',),
            },
        ),
    ]
Esempio n. 6
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='Category',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=50, verbose_name='名称')),
                ('content', models.TextField(help_text='用 markdown 书写', verbose_name='分类描述正文')),
                ('content_html', models.TextField(blank=True, editable=False, verbose_name='正文html代码')),
                ('desc', models.CharField(max_length=1024, verbose_name='摘要')),
            ],
            options={
                'verbose_name': '分类',
                'verbose_name_plural': '分类',
                'ordering': ['-id'],
            },
            bases=(content.models.TranMarkdown, models.Model),
        ),
        migrations.CreateModel(
            name='IndexContent',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('order_number', models.PositiveSmallIntegerField(help_text='只能使用正整数且唯一', unique=True, verbose_name='序号')),
                ('title', models.CharField(help_text='不填则不显示标题', max_length=50, verbose_name='标题')),
                ('does_show_title', models.BooleanField(default=True, verbose_name='是否显示标题')),
                ('content_type', models.PositiveIntegerField(choices=[(1, 'HTML'), (2, '最热文章'), (3, '最新文章')], default=1, verbose_name='展示类型')),
                ('content', models.CharField(blank=True, help_text='只有选择 HTML 时才需要填写内容', max_length=1024, verbose_name='内容')),
            ],
            options={
                'verbose_name': '首页内容区',
                'verbose_name_plural': '首页内容区',
                'ordering': ['order_number'],
            },
        ),
        migrations.CreateModel(
            name='Link',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('order_number', models.PositiveSmallIntegerField(help_text='只能使用正整数且唯一', unique=True, verbose_name='序号')),
                ('url', models.CharField(help_text='建议使用绝对路径', max_length=200, verbose_name='URL')),
                ('anchor_word', models.CharField(max_length=50, verbose_name='锚文字')),
                ('create_time', models.DateTimeField(verbose_name='创建时间')),
                ('does_follow', models.BooleanField(default=False, verbose_name='是否跟踪')),
            ],
            options={
                'verbose_name': '底部文字链接',
                'verbose_name_plural': '底部文字链接',
                'ordering': ['order_number'],
            },
        ),
        migrations.CreateModel(
            name='Page',
            fields=[
                ('link_word', models.CharField(help_text='只能使用字母', max_length=50, primary_key=True, serialize=False, unique=True, verbose_name='URL字符串')),
                ('title', models.CharField(max_length=50, verbose_name='标题')),
                ('author', models.CharField(max_length=10, verbose_name='作者')),
                ('content', models.TextField(help_text='用 markdown 书写', verbose_name='正文')),
                ('content_html', models.TextField(blank=True, editable=False, verbose_name='正文html代码')),
                ('create_time', models.DateTimeField(verbose_name='创建时间')),
                ('update_time', models.DateTimeField(verbose_name='更新时间')),
                ('does_nav', models.BooleanField(default=False, verbose_name='是否添至导航栏')),
                ('does_follow', models.BooleanField(default=False, verbose_name='是否跟踪')),
                ('desc', models.CharField(max_length=1024, verbose_name='摘要')),
            ],
            options={
                'verbose_name': '独立页面',
                'verbose_name_plural': '独立页面',
                'ordering': ['link_word'],
            },
            bases=(content.models.TranMarkdown, models.Model),
        ),
        migrations.CreateModel(
            name='SideBar',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('order_number', models.PositiveSmallIntegerField(help_text='只能使用正整数且唯一', unique=True, verbose_name='序号')),
                ('title', models.CharField(max_length=50, verbose_name='标题')),
                ('does_show_title', models.BooleanField(default=True, verbose_name='是否显示标题')),
                ('sidebar_type', models.PositiveIntegerField(choices=[(1, 'HTML'), (2, '最热文章'), (3, '最新文章')], default=1, verbose_name='展示类型')),
                ('content', models.CharField(blank=True, help_text='只有选择 HTML 时才需要填写内容', max_length=1024, verbose_name='内容')),
            ],
            options={
                'verbose_name': '侧边栏',
                'verbose_name_plural': '侧边栏',
                'ordering': ['order_number'],
            },
        ),
        migrations.CreateModel(
            name='Tag',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=50, verbose_name='名称')),
                ('content', models.TextField(help_text='用 markdown 书写', verbose_name='标签描述正文')),
                ('content_html', models.TextField(blank=True, editable=False, verbose_name='正文html代码')),
                ('desc', models.CharField(max_length=1024, verbose_name='摘要')),
            ],
            options={
                'verbose_name': '标签',
                'verbose_name_plural': '标签',
                'ordering': ['-id'],
            },
            bases=(content.models.TranMarkdown, models.Model),
        ),
        migrations.CreateModel(
            name='Article',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(max_length=50, verbose_name='标题')),
                ('author', models.CharField(max_length=10, verbose_name='作者')),
                ('create_time', models.DateTimeField(verbose_name='创建时间')),
                ('update_time', models.DateTimeField(verbose_name='更新时间')),
                ('desc', models.CharField(max_length=1024, verbose_name='摘要')),
                ('content', models.TextField(help_text='用 markdown 书写', verbose_name='正文')),
                ('content_html', models.TextField(blank=True, editable=False, verbose_name='正文html代码')),
                ('category', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='content.Category', verbose_name='分类')),
                ('tag', models.ManyToManyField(to='content.Tag', verbose_name='标签')),
            ],
            options={
                'verbose_name': '文章',
                'verbose_name_plural': '文章',
                'ordering': ['-create_time'],
            },
            bases=(content.models.TranMarkdown, models.Model),
        ),
    ]
Esempio n. 7
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',
            },
        ),
    ]
Esempio n. 8
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')),
            ],
        ),
    ]
Esempio n. 9
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')),
            ],
        ),
    ]