示例#1
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='BlogType',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('type_name', models.CharField(max_length=15)),
            ],
        ),
        migrations.CreateModel(
            name='ReadNum',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('read_num', models.IntegerField(default=0)),
                ('object_id', models.PositiveIntegerField()),
                ('content_type', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='contenttypes.ContentType')),
            ],
        ),
        migrations.CreateModel(
            name='LikeNum',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('like_num', models.IntegerField(default=0)),
                ('object_id', models.PositiveIntegerField()),
                ('content_type', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='contenttypes.ContentType')),
            ],
        ),
        migrations.CreateModel(
            name='Blog',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(max_length=50)),
                ('content', ckeditor_uploader.fields.RichTextUploadingField()),
                ('created_time', models.DateTimeField()),
                ('last_updated_time', models.DateTimeField(auto_now=True)),
                ('create_month', models.CharField(default='May', max_length=50)),
                ('img_url', models.ImageField(blank=True, upload_to='images')),
                ('author', models.ForeignKey(default=None, on_delete=django.db.models.deletion.DO_NOTHING, to=settings.AUTH_USER_MODEL)),
                ('blog_type', models.ForeignKey(default=None, on_delete=django.db.models.deletion.DO_NOTHING, to='blog.BlogType')),
            ],
            options={
                'ordering': ['-created_time'],
            },
            bases=(models.Model, blog.models.ReadNumExpandMethod, blog.models.LikeNumExpandMethod),
        ),
    ]
class Migration(migrations.Migration):

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ('blog', '0001_initial'),
    ]

    operations = [
        migrations.CreateModel(
            name='Blog',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('vote_score', models.IntegerField(db_index=True, default=0)),
                ('num_vote_up',
                 models.PositiveIntegerField(db_index=True, default=0)),
                ('num_vote_down',
                 models.PositiveIntegerField(db_index=True, default=0)),
                ('title', models.CharField(max_length=50,
                                           verbose_name='Başlık')),
                ('content', ckeditor.fields.RichTextField()),
                ('created_date',
                 models.DateTimeField(auto_now_add=True,
                                      verbose_name='Oluşturulma Tarihi')),
                ('slug',
                 models.SlugField(editable=False,
                                  null=True,
                                  unique=True,
                                  verbose_name='Slug')),
                ('cover_photo',
                 models.ImageField(blank=True,
                                   help_text='Kapak Fotoğrafı Yükleyiniz',
                                   upload_to=blog.models.upload_to,
                                   verbose_name='Kapak fotoğrafı')),
                ('author',
                 models.ForeignKey(default=1,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   related_name='Yazar',
                                   to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name_plural': 'Gönderiler',
                'ordering': ['-id'],
            },
        ),
        migrations.DeleteModel(name='Camp', ),
    ]
示例#3
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')),
                ('title', models.CharField(max_length=50)),
                ('slug', models.SlugField(unique=True)),
            ],
        ),
        migrations.CreateModel(
            name='Menuitem',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=50, unique=True)),
                ('url', models.CharField(default='#', max_length=150)),
                ('lft', models.PositiveIntegerField(editable=False)),
                ('rght', models.PositiveIntegerField(editable=False)),
                ('tree_id', models.PositiveIntegerField(db_index=True, editable=False)),
                ('level', models.PositiveIntegerField(editable=False)),
                ('parent', mptt.fields.TreeForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='children', to='blog.Menuitem')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Post',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(db_index=True, max_length=150)),
                ('slug', models.SlugField(max_length=150, unique=True)),
                ('body', ckeditor_uploader.fields.RichTextUploadingField(max_length=3000)),
                ('date_pub', models.DateTimeField(auto_now_add=True)),
                ('image', models.ImageField(blank=True, null=True, upload_to='images/')),
                ('category', models.ManyToManyField(default=blog.models.get_first_category, related_name='posts', to='blog.Category')),
            ],
            options={
                'ordering': ['-date_pub'],
            },
        ),
    ]
示例#4
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='SideBar',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(max_length=50, verbose_name='标题')),
                ('display_type', models.PositiveIntegerField(choices=[(1, 'HTML'), (2, '最新文章'), (3, '最热文章'), (4, '最近评论')], default=1, verbose_name='展示类型')),
                ('content', models.CharField(blank=True, help_text='如果设置的不是HTML类型,可为空', max_length=500, verbose_name='内容')),
                ('status', models.PositiveIntegerField(choices=[(1, '展示'), (0, '隐藏')], default=1, verbose_name='状态')),
                ('created_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
                ('owner', models.ForeignKey(on_delete=models.SET(blog.models.get_default_user), to=settings.AUTH_USER_MODEL, verbose_name='作者')),
            ],
            options={
                'verbose_name': '侧边栏',
                'verbose_name_plural': '侧边栏',
            },
        ),
        migrations.CreateModel(
            name='Link',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(max_length=50, verbose_name='标题')),
                ('href', models.URLField(verbose_name='链接')),
                ('status', models.PositiveIntegerField(choices=[(1, '正常'), (0, '删除')], default=1, verbose_name='状态')),
                ('weight', models.PositiveIntegerField(choices=[(1, 1), (2, 2), (3, 3), (4, 4), (5, 5)], default=1, help_text='权重高展示顺序靠前', verbose_name='权重')),
                ('created_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
                ('owner', models.ForeignKey(on_delete=models.SET(blog.models.get_default_user), to=settings.AUTH_USER_MODEL, verbose_name='作者')),
            ],
            options={
                'verbose_name': '友链',
                'verbose_name_plural': '友链',
            },
        ),
    ]
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='MetaData',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('created_on', models.DateTimeField(default=django.utils.timezone.now)),
                ('updated_on', models.DateTimeField(default=django.utils.timezone.now)),
            ],
            options={
                'ordering': ['updated_on'],
            },
        ),
        migrations.CreateModel(
            name='Post',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', djongo.models.fields.EmbeddedModelField(model_container=blog.models.Blog, model_form_class=blog.models.BlogForm, null=True)),
                ('slug', models.SlugField(max_length=200, unique=True)),
                ('meta_data', djongo.models.fields.EmbeddedModelField(model_container=blog.models.MetaData, null=True)),
                ('headline', models.CharField(max_length=255)),
                ('content', models.TextField()),
                ('status', models.IntegerField(choices=[(0, 'Draft'), (1, 'Publish')], default=0)),
                ('object_id', models.PositiveIntegerField(default=True)),
                ('author', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, related_name='blog_author', to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='Comment',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('comment_text', models.TextField()),
                ('approved_comment', models.BooleanField(default=False)),
                ('created_on', models.DateTimeField(auto_now_add=True)),
                ('name', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
                ('post', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='blog.Post')),
            ],
        ),
    ]
示例#6
0
class Migration(migrations.Migration):

    dependencies = [
        ('blog', '0003_post_post_pic'),
    ]

    operations = [
        migrations.AddField(
            model_name='post',
            name='page_click',
            field=models.PositiveIntegerField(default=0),
        ),
        migrations.AlterField(
            model_name='post',
            name='post_pic',
            field=models.ImageField(upload_to=blog.models.user_directory_path),
        ),
    ]
class Migration(migrations.Migration):

    dependencies = [
        ('blog', '0005_auto_20180619_1042'),
    ]

    operations = [
        migrations.CreateModel(
            name='Quote',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('quote', models.CharField(max_length=1024)),
                ('movie', models.CharField(max_length=255)),
                ('actor', models.CharField(max_length=255)),
                ('year', models.PositiveIntegerField(validators=[django.core.validators.MinValueValidator(limit_value=1900), django.core.validators.MaxValueValidator(limit_value=2050)])),
                ('imdb', models.URLField()),
            ],
        ),
        migrations.AlterField(
            model_name='blogpage',
            name='body',
            field=wagtail.core.fields.StreamField((('main', wagtail.core.blocks.RichTextBlock(classname='full')), ('quote', blog.models.QuoteChooserBlock()), ('related', wagtail.core.blocks.PageChooserBlock(target_model=['blog.BlogPage'])), ('embedded_video', wagtail.embeds.blocks.EmbedBlock(icon='media')))),
        ),
    ]
示例#8
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    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)),
                ('body', models.TextField(null=True)),
                ('image',
                 models.ImageField(null=True,
                                   upload_to=blog.models.get_file_path)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('published_on', models.DateTimeField(null=True)),
                ('views', models.PositiveIntegerField(default=0)),
                ('status',
                 models.CharField(choices=[('Draft', 'Draft'),
                                           ('Publish', 'Publish')],
                                  max_length=50)),
                ('created_by',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='blog_author',
                                   to=settings.AUTH_USER_MODEL)),
            ],
        ),
    ]
示例#9
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=50, verbose_name='名称')),
                ('status',
                 models.PositiveIntegerField(choices=[(1, '正常'), (0, '删除')],
                                             default=1,
                                             verbose_name='状态')),
                ('is_nav',
                 models.BooleanField(default=False, verbose_name='是否为导航')),
                ('created_time',
                 models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
                ('owner',
                 models.ForeignKey(on_delete=models.SET(
                     blog.models.get_default_user),
                                   to=settings.AUTH_USER_MODEL,
                                   verbose_name='作者')),
            ],
            options={
                'verbose_name': '分类',
                'verbose_name_plural': '分类',
            },
        ),
        migrations.CreateModel(
            name='Tag',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=10, verbose_name='名称')),
                ('status',
                 models.PositiveIntegerField(choices=[(1, '正常'), (0, '删除')],
                                             default=1,
                                             verbose_name='状态')),
                ('created_time',
                 models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
                ('owner',
                 models.ForeignKey(on_delete=models.SET(
                     blog.models.get_default_user),
                                   to=settings.AUTH_USER_MODEL,
                                   verbose_name='作者')),
            ],
            options={
                'verbose_name': '标签',
                'verbose_name_plural': '标签',
            },
        ),
        migrations.CreateModel(
            name='Post',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title', models.CharField(max_length=255, verbose_name='标题')),
                ('desc',
                 models.CharField(blank=True,
                                  max_length=1024,
                                  verbose_name='摘要')),
                ('content',
                 models.TextField(help_text='正文必须为MarkDown格式',
                                  verbose_name='正文')),
                ('status',
                 models.PositiveIntegerField(choices=[(1, '正常'), (0, '删除'),
                                                      (2, '草稿')],
                                             default=1,
                                             verbose_name='状态')),
                ('created_time',
                 models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
                ('category',
                 models.ForeignKey(on_delete=models.SET(
                     blog.models.get_default_category),
                                   to='blog.Category',
                                   verbose_name='分类')),
                ('owner',
                 models.ForeignKey(on_delete=models.SET(
                     blog.models.get_default_user),
                                   to=settings.AUTH_USER_MODEL,
                                   verbose_name='作者')),
                ('tag', models.ManyToManyField(to='blog.Tag',
                                               verbose_name='标签')),
            ],
            options={
                'verbose_name': '文章',
                'verbose_name_plural': '文章',
                'ordering': ['-id'],
            },
        ),
    ]
示例#10
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('auth', '0009_alter_user_last_name_max_length'),
    ]

    operations = [
        migrations.CreateModel(
            name='UserAccount',
            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')),
                ('first_name', models.CharField(blank=True, max_length=30, 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')),
                ('username', models.CharField(error_messages={'unique': 'A user with that username already exists.'}, help_text='作者昵称、2~30个字符', max_length=30, unique=True, verbose_name='username')),
                ('email_ac', models.BooleanField(default=False, verbose_name='邮箱状态')),
                ('mobile', models.CharField(error_messages={'unique': '此手机号已注册'}, help_text='手机号', max_length=11, unique=True, verbose_name='手机号')),
                ('header', models.URLField(default='', verbose_name='头像')),
                ('desc', models.TextField(blank=True, help_text='200字描述一下自己', max_length=200, null=True, verbose_name='简介')),
                ('alipay', models.ImageField(blank=True, null=True, upload_to='dsm/alipay/', verbose_name='支付宝打赏码')),
                ('wechat', models.ImageField(blank=True, null=True, upload_to='dsm/wechat/', verbose_name='微信打赏码')),
                ('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': '账户',
                'verbose_name_plural': '账户',
                'db_table': 'user_account',
            },
            managers=[
                ('objects', blog.models.UserManager()),
            ],
        ),
        migrations.CreateModel(
            name='Advertisement',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('ad_name', models.CharField(max_length=20, verbose_name='广告名')),
                ('image', models.URLField(blank=True, verbose_name='图片')),
                ('link', models.URLField(verbose_name='广告链接')),
                ('adtype', models.PositiveSmallIntegerField(blank=True, choices=[(0, '右侧方形广告'), (1, '左侧长条广告')], null=True, verbose_name='广告类型')),
                ('remark', models.TextField(blank=True, max_length=64, null=True, verbose_name='备注')),
                ('add', models.DateTimeField(auto_now_add=True, verbose_name='添加时间')),
                ('mod', models.DateTimeField(auto_now=True, verbose_name='最近修改')),
                ('end', models.DateTimeField(null=True, verbose_name='结束时间')),
            ],
            options={
                'verbose_name': '广告',
                'verbose_name_plural': '广告',
                'db_table': 'advertisement',
            },
        ),
        migrations.CreateModel(
            name='Blog',
            fields=[
                ('id', models.CharField(default=shortuuid.main.ShortUUID.random, max_length=12, primary_key=True, serialize=False)),
                ('title', models.CharField(help_text='1~32个字', max_length=32, verbose_name='标题')),
                ('cover', models.URLField(blank=True, default='', verbose_name='封面')),
                ('content', models.TextField(blank=True, null=True, verbose_name='内容')),
                ('source', models.URLField(blank=True, help_text='如果转载, 则提供原文链接', null=True, verbose_name='原文链接')),
                ('is_fine', models.BooleanField(default=False, verbose_name='站长推荐')),
                ('is_top', models.BooleanField(default=False, verbose_name='是否置顶')),
                ('read', models.PositiveIntegerField(default=0, verbose_name='阅读数')),
                ('like', models.PositiveIntegerField(default=0, verbose_name='点赞数')),
                ('add', models.DateTimeField(auto_now_add=True, verbose_name='发表时间')),
                ('mod', models.DateTimeField(auto_now=True, verbose_name='最后修改')),
                ('is_active', models.BooleanField(default=False, verbose_name='是否可用')),
                ('author', models.ForeignKey(limit_choices_to={'is_active': True, 'is_staff': True}, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='作者')),
            ],
            options={
                'verbose_name': '文章',
                'verbose_name_plural': '文章',
                'db_table': 'blog',
            },
        ),
        migrations.CreateModel(
            name='Category',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('add', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
                ('mod', models.DateTimeField(auto_now=True, verbose_name='更新修改')),
                ('is_active', models.BooleanField(default=True, verbose_name='逻辑删除')),
                ('pre_cat', models.CharField(choices=[('A', '文学类'), ('B', '技术类')], max_length=1, verbose_name='前置分类')),
                ('cat', models.CharField(help_text='1~12个字', max_length=12, verbose_name='类别')),
            ],
            options={
                'verbose_name': '类别',
                'verbose_name_plural': '类别',
                'db_table': 'category',
            },
        ),
        migrations.CreateModel(
            name='Expand',
            fields=[
                ('key', models.CharField(help_text='1~16字符', max_length=16, primary_key=True, serialize=False, verbose_name='键')),
                ('value', models.CharField(help_text='1~32字符', max_length=32, verbose_name='值')),
                ('remark', models.TextField(max_length=100, null=True, verbose_name='备注')),
                ('mod', models.DateTimeField(auto_now=True, verbose_name='上次变更')),
            ],
            options={
                'verbose_name': '拓展数据',
                'verbose_name_plural': '拓展数据',
                'db_table': 'expand',
            },
        ),
        migrations.CreateModel(
            name='Link',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('add', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
                ('mod', models.DateTimeField(auto_now=True, verbose_name='更新修改')),
                ('is_active', models.BooleanField(default=True, verbose_name='逻辑删除')),
                ('link', models.URLField(help_text='完整的网站首页地址', max_length=64, unique=True, verbose_name='链接')),
                ('link_name', models.CharField(help_text='网站的名字', max_length=32, verbose_name='链接名称')),
                ('cat', models.PositiveSmallIntegerField(choices=[(0, '公益链接'), (1, '个人主页'), (2, '商业广告')], default=1, help_text='网站类型', verbose_name='链接类型')),
                ('email', models.EmailField(help_text='有特殊情况方便联系', max_length=32, verbose_name='邮箱')),
            ],
            options={
                'verbose_name': '友链',
                'verbose_name_plural': '友链',
                'db_table': 'link',
            },
        ),
        migrations.CreateModel(
            name='Music',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=64, verbose_name='音乐名')),
                ('author', models.CharField(max_length=20, verbose_name='歌手')),
                ('code', models.TextField(max_length=300, verbose_name='外链代码')),
                ('mod', models.DateTimeField(auto_now=True, verbose_name='最后变更')),
                ('is_active', models.BooleanField(default=True, verbose_name='是否可用')),
            ],
            options={
                'verbose_name': '外链音乐',
                'verbose_name_plural': '外链音乐',
                'db_table': 'music',
            },
        ),
        migrations.CreateModel(
            name='Notice',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('add', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
                ('mod', models.DateTimeField(auto_now=True, verbose_name='更新修改')),
                ('is_active', models.BooleanField(default=True, verbose_name='逻辑删除')),
                ('title', models.CharField(help_text='1~20个字', max_length=20, verbose_name='标题')),
                ('content', models.TextField(verbose_name='内容')),
            ],
            options={
                'verbose_name': '公告',
                'verbose_name_plural': '公告',
                'db_table': 'notice',
            },
        ),
        migrations.CreateModel(
            name='Tag',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('add', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
                ('mod', models.DateTimeField(auto_now=True, verbose_name='更新修改')),
                ('is_active', models.BooleanField(default=True, verbose_name='逻辑删除')),
                ('tag', models.CharField(help_text='1~12个字', max_length=12, unique=True, verbose_name='标签')),
            ],
            options={
                'verbose_name': '标签',
                'verbose_name_plural': '标签',
                'db_table': 'tag',
            },
        ),
        migrations.AlterUniqueTogether(
            name='music',
            unique_together={('name', 'author')},
        ),
        migrations.AddField(
            model_name='blog',
            name='cat',
            field=models.ForeignKey(limit_choices_to={'is_active': True}, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='cblogs', to='blog.Category', verbose_name='分类'),
        ),
        migrations.AddField(
            model_name='blog',
            name='music',
            field=models.ForeignKey(blank=True, limit_choices_to={'is_active': True}, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='mblogs', to='blog.Music', verbose_name='背景音乐'),
        ),
        migrations.AddField(
            model_name='blog',
            name='tags',
            field=models.ManyToManyField(blank=True, limit_choices_to={'is_active': True}, related_name='tblogs', to='blog.Tag', verbose_name='标签'),
        ),
        migrations.CreateModel(
            name='Author',
            fields=[
            ],
            options={
                'verbose_name': '账户中心',
                'verbose_name_plural': '账户中心',
                'proxy': True,
                'indexes': [],
            },
            bases=('blog.useraccount',),
            managers=[
                ('objects', blog.models.UserManager()),
            ],
        ),
        migrations.CreateModel(
            name='AuthorBlog',
            fields=[
            ],
            options={
                'verbose_name': '我的文章',
                'verbose_name_plural': '我的文章',
                'proxy': True,
                'indexes': [],
            },
            bases=('blog.blog',),
        ),
    ]
示例#11
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(db_index=True, max_length=150)),
                ('slug', models.SlugField(max_length=150, unique=True)),
            ],
            options={
                'verbose_name': 'Категория',
                'verbose_name_plural': 'Категории',
                'ordering': ('name', ),
            },
        ),
        migrations.CreateModel(
            name='Comment',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('text',
                 models.TextField(max_length=300,
                                  verbose_name='Текст комментария')),
                ('date', models.DateTimeField(auto_now_add=True)),
                ('comment_likes', models.PositiveIntegerField(default=0)),
                ('comment_dislikes', models.PositiveIntegerField(default=0)),
                ('author',
                 models.ForeignKey(blank=True,
                                   null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'Комментарий',
                'verbose_name_plural': 'Комментарии',
                'ordering': ('post', 'author'),
            },
        ),
        migrations.CreateModel(
            name='Post',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title',
                 models.CharField(max_length=64, verbose_name='Заголовок')),
                ('slug', models.SlugField(max_length=64, unique=True)),
                ('text', models.TextField(verbose_name='Текст поста')),
                ('date', models.DateTimeField(auto_now_add=True)),
                ('post_likes', models.PositiveIntegerField(default=0)),
                ('post_dislikes', models.PositiveIntegerField(default=0)),
                ('image',
                 models.ImageField(blank=True,
                                   upload_to=blog.models.get_upload_path,
                                   verbose_name='Картинка')),
                ('draft',
                 models.BooleanField(default=False, verbose_name='Черновик')),
                ('author',
                 models.ForeignKey(blank=True,
                                   null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
                ('category',
                 models.ForeignKey(null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to='blog.category',
                                   verbose_name='Категория')),
            ],
            options={
                'verbose_name': 'Пост',
                'verbose_name_plural': 'Посты',
                'ordering': ('title', ),
            },
        ),
        migrations.CreateModel(
            name='Tag',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('text', models.CharField(max_length=64,
                                          verbose_name='Hashtag')),
            ],
        ),
        migrations.CreateModel(
            name='PostLike',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('like_or_dislike',
                 models.CharField(choices=[('LIKE', 'like'),
                                           ('DISLIKE', 'dislike'),
                                           (None, 'None')],
                                  default=None,
                                  max_length=7)),
                ('for_post',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='blog.post')),
                ('user',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.AddField(
            model_name='post',
            name='tag',
            field=models.ManyToManyField(blank=True,
                                         related_name='POSTS',
                                         to='blog.Tag'),
        ),
        migrations.CreateModel(
            name='CommentLike',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('like_or_dislike',
                 models.CharField(choices=[('LIKE', 'like'),
                                           ('DISLIKE', 'dislike'),
                                           (None, 'None')],
                                  default=None,
                                  max_length=7)),
                ('for_com',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='blog.comment')),
                ('user',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.AddField(
            model_name='comment',
            name='post',
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                to='blog.post'),
        ),
        migrations.AlterIndexTogether(
            name='post',
            index_together={('slug', )},
        ),
    ]
示例#12
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('auth', '0008_alter_user_username_max_length'),
    ]

    operations = [
        migrations.CreateModel(
            name='MyUser',
            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(max_length=30, unique=True, verbose_name='Логин')),
                ('rateable', models.BooleanField(default=True)),
                ('avatar', imagekit.models.fields.ProcessedImageField(blank=True, upload_to=blog.models.MyUser.user_directory_path, verbose_name='Аватар')),
                ('email', models.EmailField(max_length=254, unique=True)),
                ('is_active', models.BooleanField(default=True, verbose_name='Активен')),
                ('is_staff', models.BooleanField(default=False, verbose_name='Персонал')),
                ('moderated', models.BooleanField(default=False, verbose_name='Модерируется')),
                ('moderator', models.BooleanField(default=False, verbose_name='Модератор')),
                ('user_last_login', models.DateTimeField(auto_now=True)),
                ('date_joined', models.DateTimeField(auto_now_add=True)),
                ('can_post', models.BooleanField(default=True, verbose_name='Может добавлять посты')),
                ('can_comment', models.BooleanField(default=True, verbose_name='Может комментировать')),
                ('can_complain', models.BooleanField(default=True, verbose_name='Может жаловаться')),
                ('rating', models.FloatField(default=0.0, verbose_name='Рейтинг')),
                ('votes_amount', models.CharField(choices=[('U', 'Unlimited'), ('N', 'Normal'), ('B', 'Blocked')], default='N', max_length=1)),
                ('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')),
            ],
            options={
                'verbose_name_plural': 'Пользователи',
            },
        ),
        migrations.CreateModel(
            name='Category',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=30, unique=True)),
                ('description', models.TextField(max_length=400)),
                ('slug', models.CharField(blank=True, max_length=250, verbose_name='URL')),
                ('order', models.SmallIntegerField(blank=True, default=1)),
            ],
            options={
                'verbose_name_plural': 'categories',
                'ordering': ['order'],
            },
        ),
        migrations.CreateModel(
            name='Comment',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('text', models.TextField(max_length=3700)),
                ('removed', models.BooleanField(default=False)),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('rating', models.FloatField(default=0.0, verbose_name='Рейтинг')),
                ('can_complain', models.BooleanField(default=True, verbose_name='Разрешено жаловаться')),
                ('lft', models.PositiveIntegerField(db_index=True, editable=False)),
                ('rght', models.PositiveIntegerField(db_index=True, editable=False)),
                ('tree_id', models.PositiveIntegerField(db_index=True, editable=False)),
                ('level', models.PositiveIntegerField(db_index=True, editable=False)),
                ('author', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
                ('parent', mptt.fields.TreeForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='children', to='blog.Comment')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Complain',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('edited', models.DateTimeField(auto_now=True)),
                ('score', models.FloatField(blank=True, default=0, null=True)),
                ('users_complained', models.TextField(blank=True, default='{}', max_length=2000, null=True)),
                ('comment', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='blog.Comment')),
            ],
            options={
                'verbose_name_plural': 'Жалобы',
                'ordering': ['edited'],
            },
        ),
        migrations.CreateModel(
            name='Post',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('mform_type', models.CharField(blank=True, choices=[('Article', 'Статья'), ('SoftwareApplication', 'Приложение'), ('BlogPosting', 'Пост'), ('NewsArticle', 'Новость'), ('WebSite', 'Сайт')], max_length=30, null=True, verbose_name='Тип')),
                ('title', models.CharField(max_length=150, verbose_name='Заголовок')),
                ('private', models.BooleanField(default=False, verbose_name='NSFW')),
                ('rateable', models.BooleanField(default=True, verbose_name='Разрешено голосовать')),
                ('comments', models.BooleanField(default=True, verbose_name='Разрешено комментировать')),
                ('can_complain', models.BooleanField(default=True, verbose_name='Разрешено жаловаться')),
                ('locked', models.BooleanField(default=False, verbose_name='Не разрешать редактировать автору')),
                ('description', models.TextField(max_length=700, verbose_name='Описание')),
                ('text', models.TextField()),
                ('post_image', models.FileField(blank=True, max_length=500, null=True, upload_to='2017/3/31/', validators=[blog.functions.validate_post_image])),
                ('post_image_gif', models.FileField(blank=True, max_length=500, null=True, upload_to='2017/3/31/')),
                ('image_url', models.URLField(blank=True, max_length=1000, null=True)),
                ('main_image_srcset', models.TextField(blank=True, max_length=800, null=True)),
                ('post_thumbnail', models.ImageField(blank=True, max_length=500, null=True, upload_to='2017/3/31/')),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('edited', models.DateTimeField(auto_now=True)),
                ('published', models.DateTimeField(default=django.utils.timezone.now)),
                ('rating', models.FloatField(default=0.0, verbose_name='Рейтинг')),
                ('url', models.CharField(blank=True, max_length=330)),
                ('status', models.CharField(choices=[('D', 'Черновик/удалён'), ('P', 'Опубликован')], default='D', max_length=1, verbose_name='Статус')),
                ('author', models.ForeignKey(default=1, on_delete=django.db.models.deletion.SET_DEFAULT, to=settings.AUTH_USER_MODEL)),
                ('category', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='blog.Category')),
            ],
            options={
                'verbose_name_plural': 'posts',
                'ordering': ['-published'],
            },
            bases=(meta.models.ModelMeta, models.Model),
        ),
        migrations.CreateModel(
            name='Tag',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=30)),
                ('url', models.CharField(max_length=140, unique=True)),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('private', models.BooleanField(default=False)),
                ('rateable', models.BooleanField(default=True)),
                ('description', models.TextField(blank=True, max_length=700, null=True)),
                ('rating', models.FloatField(default=0.0, verbose_name='Рейтинг')),
                ('category', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='blog.Category')),
            ],
            options={
                'verbose_name_plural': 'Тэги',
                'ordering': ['name'],
            },
        ),
        migrations.CreateModel(
            name='UserVotes',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('votes_amount', models.IntegerField(default=10)),
                ('weight', models.FloatField(default=0.25)),
                ('vote_type', models.CharField(choices=[('U', 'Unlimited'), ('N', 'Normal'), ('B', 'Blocked')], default='N', max_length=1)),
                ('block_date', models.DateTimeField(blank=True, null=True)),
                ('manual', models.BooleanField(default=False)),
                ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.AddField(
            model_name='post',
            name='main_tag',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='blog.Tag'),
        ),
        migrations.AddField(
            model_name='post',
            name='tags',
            field=models.ManyToManyField(blank=True, related_name='posts', related_query_name='tag', to='blog.Tag'),
        ),
        migrations.AddField(
            model_name='complain',
            name='post',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='blog.Post'),
        ),
        migrations.AddField(
            model_name='comment',
            name='post',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='blog.Post'),
        ),
        migrations.AddField(
            model_name='myuser',
            name='moderator_of_categories',
            field=models.ManyToManyField(blank=True, to='blog.Category', verbose_name='Модерирует категории'),
        ),
        migrations.AddField(
            model_name='myuser',
            name='moderator_of_tags',
            field=models.ManyToManyField(blank=True, to='blog.Tag', verbose_name='Модерирует тэги'),
        ),
        migrations.AddField(
            model_name='myuser',
            name='user_permissions',
            field=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'),
        ),
    ]
示例#13
0
class Migration(migrations.Migration):

    dependencies = [
        ('blog', '0003_auto_20180131_2021'),
    ]

    operations = [
        migrations.CreateModel(
            name='Img',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(max_length=100, verbose_name='图片名(描述)')),
                ('head_pic',
                 models.ImageField(upload_to='blog/', verbose_name='图片')),
                ('created',
                 models.DateTimeField(auto_now_add=True,
                                      verbose_name='creation time')),
            ],
            options={
                'verbose_name_plural': '图片',
                'ordering': ['-created'],
                'verbose_name': '图片',
            },
        ),
        migrations.AlterModelOptions(
            name='category',
            options={
                'verbose_name': '类别',
                'verbose_name_plural': '类别'
            },
        ),
        migrations.AlterModelOptions(
            name='post',
            options={
                'ordering': ['-created_time'],
                'verbose_name': '文章',
                'verbose_name_plural': '文章'
            },
        ),
        migrations.AlterModelOptions(
            name='tag',
            options={
                'verbose_name': '标签',
                'verbose_name_plural': '标签'
            },
        ),
        migrations.AlterField(
            model_name='category',
            name='cover',
            field=models.ImageField(
                blank=True,
                upload_to='media/covers/categories/%Y/%m/%d/',
                verbose_name='封面(教程使用)'),
        ),
        migrations.AlterField(
            model_name='category',
            name='cover_caption',
            field=models.CharField(blank=True,
                                   max_length=255,
                                   verbose_name='封面标题(教程使用)'),
        ),
        migrations.AlterField(
            model_name='category',
            name='creator',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                to=settings.AUTH_USER_MODEL,
                verbose_name='作者'),
        ),
        migrations.AlterField(
            model_name='category',
            name='description',
            field=models.TextField(blank=True, verbose_name='描述'),
        ),
        migrations.AlterField(
            model_name='category',
            name='genre',
            field=models.PositiveSmallIntegerField(choices=[(1, '普通'),
                                                            (2, '教程')],
                                                   default=1,
                                                   verbose_name='类型'),
        ),
        migrations.AlterField(
            model_name='category',
            name='name',
            field=models.CharField(max_length=100, verbose_name='名字'),
        ),
        migrations.AlterField(
            model_name='category',
            name='resource',
            field=models.URLField(blank=True, verbose_name='资源(废弃)'),
        ),
        migrations.AlterField(
            model_name='category',
            name='slug',
            field=models.SlugField(unique=True, verbose_name='英文名'),
        ),
        migrations.AlterField(
            model_name='category',
            name='status',
            field=models.PositiveSmallIntegerField(blank=True,
                                                   choices=[(1, '进行中'),
                                                            (2, '已完成')],
                                                   null=True,
                                                   verbose_name='状态(教程使用)'),
        ),
        migrations.AlterField(
            model_name='category',
            name='title',
            field=models.CharField(blank=True,
                                   max_length=255,
                                   verbose_name='标题'),
        ),
        migrations.AlterField(
            model_name='post',
            name='author',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                to=settings.AUTH_USER_MODEL,
                verbose_name='作者'),
        ),
        migrations.AlterField(
            model_name='post',
            name='body',
            field=models.TextField(verbose_name='内容'),
        ),
        migrations.AlterField(
            model_name='post',
            name='category',
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                to='blog.Category',
                verbose_name='类别'),
        ),
        migrations.AlterField(
            model_name='post',
            name='cover',
            field=models.ImageField(blank=True,
                                    upload_to=blog.models.post_cover_path,
                                    verbose_name='封面'),
        ),
        migrations.AlterField(
            model_name='post',
            name='created_time',
            field=model_utils.fields.AutoCreatedField(
                default=django.utils.timezone.now,
                editable=False,
                verbose_name='创建时间'),
        ),
        migrations.AlterField(
            model_name='post',
            name='excerpt',
            field=models.CharField(blank=True,
                                   max_length=255,
                                   verbose_name='摘要'),
        ),
        migrations.AlterField(
            model_name='post',
            name='modified_time',
            field=model_utils.fields.AutoLastModifiedField(
                default=django.utils.timezone.now,
                editable=False,
                verbose_name='修改时间'),
        ),
        migrations.AlterField(
            model_name='post',
            name='pub_date',
            field=models.DateTimeField(blank=True,
                                       null=True,
                                       verbose_name='发布时间'),
        ),
        migrations.AlterField(
            model_name='post',
            name='status',
            field=models.PositiveSmallIntegerField(choices=[
                (1, '发布'), (2, '草稿'), (3, '隐藏'), (4, '秘密')
            ],
                                                   default=2,
                                                   verbose_name='状态'),
        ),
        migrations.AlterField(
            model_name='post',
            name='tags',
            field=models.ManyToManyField(blank=True,
                                         to='blog.Tag',
                                         verbose_name='标签'),
        ),
        migrations.AlterField(
            model_name='post',
            name='title',
            field=models.CharField(max_length=255, verbose_name='标题'),
        ),
        migrations.AlterField(
            model_name='post',
            name='views',
            field=models.PositiveIntegerField(default=0,
                                              editable=False,
                                              verbose_name='查看次数'),
        ),
        migrations.AlterField(
            model_name='tag',
            name='name',
            field=models.CharField(max_length=100, verbose_name='名字'),
        ),
    ]
示例#14
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('destinations', '0010_auto_20210209_1529'),
    ]

    operations = [
        migrations.CreateModel(
            name='BlogType',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title', models.CharField(max_length=255)),
                ('active', models.BooleanField(default=False)),
                ('order', models.PositiveIntegerField(default=0)),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('updated', models.DateTimeField(auto_now=True)),
            ],
            options={
                'db_table': 'blog_type',
                'ordering': ['order'],
            },
        ),
        migrations.CreateModel(
            name='Blog',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title', models.CharField(default='', max_length=255)),
                ('keywords', models.TextField(default='')),
                ('titleSEO', models.TextField(default='', max_length=255)),
                ('slug',
                 autoslug.fields.AutoSlugField(always_update=True,
                                               editable=False,
                                               populate_from='title',
                                               unique_with=['title'])),
                ('content', ckeditor_uploader.fields.RichTextUploadingField()),
                ('thumbnail',
                 imagekit.models.fields.ProcessedImageField(
                     blank=True, upload_to=blog.models.path_and_rename)),
                ('banner',
                 imagekit.models.fields.ProcessedImageField(
                     blank=True, upload_to=blog.models.path_and_rename)),
                ('published', models.BooleanField(default=False)),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('updated', models.DateTimeField(auto_now=True)),
                ('blog_type', models.ManyToManyField(to='blog.BlogType')),
                ('destination',
                 models.ForeignKey(default=None,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to='destinations.destination')),
            ],
            options={
                'db_table': 'blog_posts',
            },
        ),
    ]
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('contenttypes', '0002_remove_content_type_name'),
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    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)),
                ('image',
                 models.ImageField(blank=True,
                                   height_field='height_field',
                                   null=True,
                                   upload_to=blog.models.upload_location,
                                   width_field='width_field')),
                ('height_field', models.IntegerField(default=0, null=True)),
                ('width_field', models.IntegerField(default=0, null=True)),
                ('content', models.TextField()),
                ('timestamp', models.DateTimeField(auto_now_add=True)),
                ('updated', models.DateTimeField(auto_now=True)),
                ('category',
                 models.CharField(choices=[('gn', 'General'),
                                           ('pg', 'Programming'),
                                           ('mv', 'Movies'), ('bk', 'Books'),
                                           ('sp', 'Sports')],
                                  default='General',
                                  max_length=2)),
                ('user',
                 models.ForeignKey(default=1,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'ordering': ['-timestamp', '-updated'],
            },
        ),
        migrations.CreateModel(
            name='Comment',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('object_id', models.PositiveIntegerField()),
                ('content', models.TextField()),
                ('timestamp', models.DateTimeField(auto_now_add=True)),
                ('content_type',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='contenttypes.ContentType')),
                ('user_comment',
                 models.ForeignKey(default=1,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
            ],
        ),
    ]
示例#16
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=100,
                                          verbose_name='name')),
                ('title',
                 models.CharField(blank=True,
                                  max_length=255,
                                  verbose_name='title')),
                ('slug', models.SlugField(unique=True, verbose_name='slug')),
                ('description',
                 models.TextField(blank=True, verbose_name='description')),
                ('created',
                 models.DateTimeField(auto_now_add=True,
                                      verbose_name='creation time')),
                ('genre',
                 models.PositiveSmallIntegerField(choices=[(1, 'collection'),
                                                           (2, 'tutorial')],
                                                  default=1,
                                                  verbose_name='genre')),
                ('status',
                 models.PositiveSmallIntegerField(blank=True,
                                                  choices=[(1, 'ongoing'),
                                                           (2, 'finished')],
                                                  null=True,
                                                  verbose_name='status')),
                ('cover',
                 models.ImageField(
                     blank=True,
                     upload_to='/static/covers/categories/%Y/%m/%d/',
                     verbose_name='cover')),
                ('cover_caption',
                 models.CharField(blank=True,
                                  max_length=255,
                                  verbose_name='cover caption')),
                ('resource',
                 models.URLField(blank=True, verbose_name='resource')),
                ('creator',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL,
                                   verbose_name='creator')),
            ],
        ),
        migrations.CreateModel(
            name='Post',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('status',
                 models.PositiveSmallIntegerField(choices=[(1, 'published'),
                                                           (2, 'draft'),
                                                           (3, 'hidden')],
                                                  default=2,
                                                  verbose_name='status')),
                ('title', models.CharField(max_length=255,
                                           verbose_name='title')),
                ('body', models.TextField(verbose_name='body')),
                ('excerpt',
                 models.CharField(blank=True,
                                  max_length=255,
                                  verbose_name='excerpt')),
                ('views',
                 models.PositiveIntegerField(default=0,
                                             editable=False,
                                             verbose_name='views')),
                ('pub_date',
                 models.DateTimeField(blank=True,
                                      null=True,
                                      verbose_name='publication time')),
                ('created_time',
                 model_utils.fields.AutoCreatedField(
                     default=django.utils.timezone.now,
                     editable=False,
                     verbose_name='creation time')),
                ('modified_time',
                 model_utils.fields.AutoLastModifiedField(
                     default=django.utils.timezone.now,
                     editable=False,
                     verbose_name='modification time')),
                ('cover',
                 models.ImageField(blank=True,
                                   upload_to=blog.models.post_cover_path,
                                   verbose_name='cover')),
                ('author',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
                ('category',
                 models.ForeignKey(blank=True,
                                   null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to='blog.Category',
                                   verbose_name='category')),
            ],
            options={
                'ordering': ['-created_time'],
            },
        ),
        migrations.CreateModel(
            name='Tag',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=100,
                                          verbose_name='name')),
            ],
        ),
        migrations.AddField(
            model_name='post',
            name='tags',
            field=models.ManyToManyField(blank=True,
                                         to='blog.Tag',
                                         verbose_name='tags'),
        ),
    ]
示例#17
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='Article',
            fields=[
                ('id', models.AutoField(primary_key=True, serialize=False)),
                ('add_time',
                 models.DateTimeField(default=django.utils.timezone.now,
                                      verbose_name='添加时间')),
                ('modify_time',
                 models.DateTimeField(default=django.utils.timezone.now,
                                      verbose_name='修改时间')),
                ('title',
                 models.CharField(max_length=100,
                                  unique=True,
                                  verbose_name='文章标题')),
                ('content', mdeditor.fields.MDTextField(verbose_name='文章内容')),
                ('type',
                 models.CharField(choices=[('a', '文章'), ('p', '页面')],
                                  default='a',
                                  max_length=1,
                                  verbose_name='文章类型')),
                ('order',
                 models.PositiveSmallIntegerField(default=0,
                                                  help_text='越大越前',
                                                  verbose_name='排序')),
                ('views',
                 models.PositiveIntegerField(default=0, verbose_name='浏览量')),
                ('author',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL,
                                   verbose_name='作者')),
            ],
            options={
                'verbose_name': '2-文章',
                'verbose_name_plural': '2-文章',
                'ordering': ['-order', '-add_time'],
            },
        ),
        migrations.CreateModel(
            name='Category',
            fields=[
                ('id', models.AutoField(primary_key=True, serialize=False)),
                ('add_time',
                 models.DateTimeField(default=django.utils.timezone.now,
                                      verbose_name='添加时间')),
                ('modify_time',
                 models.DateTimeField(default=django.utils.timezone.now,
                                      verbose_name='修改时间')),
                ('name',
                 models.CharField(max_length=30,
                                  unique=True,
                                  verbose_name='分类')),
                ('order',
                 models.PositiveSmallIntegerField(default=0,
                                                  help_text='越大越前',
                                                  verbose_name='排序')),
                ('slug', models.SlugField(default='')),
                ('parent_category',
                 models.ForeignKey(blank=True,
                                   null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to='blog.Category',
                                   verbose_name='父级分类')),
            ],
            options={
                'verbose_name': '1-文章分类',
                'verbose_name_plural': '1-文章分类',
                'ordering': ['-order', 'add_time'],
            },
        ),
        migrations.CreateModel(
            name='Comment',
            fields=[
                ('id', models.AutoField(primary_key=True, serialize=False)),
                ('add_time',
                 models.DateTimeField(default=django.utils.timezone.now,
                                      verbose_name='添加时间')),
                ('modify_time',
                 models.DateTimeField(default=django.utils.timezone.now,
                                      verbose_name='修改时间')),
                ('content',
                 models.TextField(max_length=250, verbose_name='评论内容')),
                ('is_enable',
                 models.BooleanField(default=True, verbose_name='是否显示')),
                ('article',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='blog.Article',
                                   verbose_name='评论文章')),
                ('author',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL,
                                   verbose_name='评论者')),
                ('parent_comment',
                 models.ForeignKey(blank=True,
                                   null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to='blog.Comment',
                                   verbose_name='父评论')),
            ],
            options={
                'verbose_name': '3-文章评论',
                'verbose_name_plural': '3-文章评论',
            },
        ),
        migrations.CreateModel(
            name='GuestBook',
            fields=[
                ('id', models.AutoField(primary_key=True, serialize=False)),
                ('add_time',
                 models.DateTimeField(default=django.utils.timezone.now,
                                      verbose_name='添加时间')),
                ('modify_time',
                 models.DateTimeField(default=django.utils.timezone.now,
                                      verbose_name='修改时间')),
                ('content',
                 models.TextField(max_length=250, verbose_name='留言内容')),
                ('author',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL,
                                   verbose_name='留言者')),
            ],
            options={
                'verbose_name': '7-留言板',
                'verbose_name_plural': '7-留言板',
                'ordering': ['author', '-id'],
            },
        ),
        migrations.CreateModel(
            name='Link',
            fields=[
                ('id', models.AutoField(primary_key=True, serialize=False)),
                ('add_time',
                 models.DateTimeField(default=django.utils.timezone.now,
                                      verbose_name='添加时间')),
                ('modify_time',
                 models.DateTimeField(default=django.utils.timezone.now,
                                      verbose_name='修改时间')),
                ('name',
                 models.CharField(max_length=30,
                                  unique=True,
                                  verbose_name='链接名称')),
                ('order',
                 models.PositiveSmallIntegerField(default=0,
                                                  help_text='越大越前',
                                                  verbose_name='排序')),
                ('url', models.URLField(verbose_name='链接地址')),
                ('is_enable',
                 models.BooleanField(default=True, verbose_name='是否启用')),
            ],
            options={
                'verbose_name': '8-友情链接',
                'verbose_name_plural': '8-友情链接',
                'ordering': ['order'],
            },
        ),
        migrations.CreateModel(
            name='Photo',
            fields=[
                ('id', models.AutoField(primary_key=True, serialize=False)),
                ('add_time',
                 models.DateTimeField(default=django.utils.timezone.now,
                                      verbose_name='添加时间')),
                ('modify_time',
                 models.DateTimeField(default=django.utils.timezone.now,
                                      verbose_name='修改时间')),
                ('title',
                 models.CharField(help_text='用于当作照片名称',
                                  max_length=50,
                                  verbose_name='图片标题')),
                ('desc',
                 models.TextField(blank=True,
                                  help_text='用于图片标签的title属性',
                                  max_length=200,
                                  null=True,
                                  verbose_name='图片描述')),
                ('image',
                 models.ImageField(help_text='默认保存在/media/photo/',
                                   upload_to=blog.models.photo_path,
                                   verbose_name='图片')),
            ],
            options={
                'verbose_name': '6-相册图片',
                'verbose_name_plural': '6-相册图片',
            },
        ),
        migrations.CreateModel(
            name='Setting',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=100,
                                          verbose_name='站点名称')),
                ('desc',
                 models.TextField(blank=True, default='',
                                  verbose_name='站点描述')),
                ('keyword',
                 models.TextField(blank=True, default='',
                                  verbose_name='站点关键字')),
                ('article_desc_len',
                 models.IntegerField(default=250, verbose_name='文章摘要长度')),
                ('sidebar_article_count',
                 models.IntegerField(default=10, verbose_name='侧边栏文章条数')),
                ('enable_photo',
                 models.BooleanField(default=True, verbose_name='是否启用相册')),
                ('user_verify_email',
                 models.BooleanField(default=False,
                                     verbose_name='用户注册是否验证邮箱')),
                ('enable_multi_user',
                 models.BooleanField(
                     default=False,
                     help_text='是否启用多用户博客系统, 注册用户只具有对自己文章的增删改查权限',
                     verbose_name='是否启用多用户博客系统')),
                ('github_user',
                 models.CharField(default='enjoy-binbin',
                                  help_text='https://github.com/enjoy-binbin',
                                  max_length=50,
                                  verbose_name='github账号')),
                ('github_repository',
                 models.CharField(
                     default='Django-blog',
                     help_text='https://github.com/enjoy-binbin/Django-blog',
                     max_length=50,
                     verbose_name='github仓库')),
            ],
            options={
                'verbose_name': '0-站点配置',
                'verbose_name_plural': '0-站点配置',
            },
        ),
        migrations.CreateModel(
            name='SideBar',
            fields=[
                ('id', models.AutoField(primary_key=True, serialize=False)),
                ('add_time',
                 models.DateTimeField(default=django.utils.timezone.now,
                                      verbose_name='添加时间')),
                ('modify_time',
                 models.DateTimeField(default=django.utils.timezone.now,
                                      verbose_name='修改时间')),
                ('title', models.CharField(max_length=30, verbose_name='标题')),
                ('content', models.TextField(verbose_name='内容')),
                ('order',
                 models.PositiveSmallIntegerField(default=1,
                                                  help_text='越大越前',
                                                  verbose_name='排序')),
                ('is_enable',
                 models.BooleanField(default=True, verbose_name='是否启用')),
            ],
            options={
                'verbose_name': '5-侧边栏',
                'verbose_name_plural': '5-侧边栏',
                'ordering': ['-order'],
            },
        ),
        migrations.CreateModel(
            name='Tag',
            fields=[
                ('id', models.AutoField(primary_key=True, serialize=False)),
                ('add_time',
                 models.DateTimeField(default=django.utils.timezone.now,
                                      verbose_name='添加时间')),
                ('modify_time',
                 models.DateTimeField(default=django.utils.timezone.now,
                                      verbose_name='修改时间')),
                ('name',
                 models.CharField(max_length=25,
                                  unique=True,
                                  verbose_name='标签名')),
            ],
            options={
                'verbose_name': '4-文章标签',
                'verbose_name_plural': '4-文章标签',
                'ordering': ['name'],
            },
        ),
        migrations.AddField(
            model_name='article',
            name='category',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                to='blog.Category',
                verbose_name='文章分类'),
        ),
        migrations.AddField(
            model_name='article',
            name='tags',
            field=models.ManyToManyField(blank=True,
                                         to='blog.Tag',
                                         verbose_name='标签'),
        ),
    ]
示例#18
0
class Migration(migrations.Migration):

    initial = True

    dependencies = []

    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)),
                ('timestamp', models.DateField(auto_now_add=True)),
                ('image',
                 models.ImageField(blank=True,
                                   null=True,
                                   upload_to=blog.models.upload_image,
                                   validators=[blog.models.validate_size])),
                ('active', models.BooleanField(default=False)),
                ('first_page', models.BooleanField(default=False)),
                ('slug',
                 models.SlugField(allow_unicode=True, blank=True, null=True)),
                ('first_page_text',
                 models.CharField(blank=True, max_length=250, null=True)),
                ('text', tinymce.models.HTMLField(blank=True, null=True)),
                ('github_url', models.URLField(blank=True, null=True)),
            ],
            managers=[
                ('my_query', django.db.models.manager.Manager()),
            ],
        ),
        migrations.CreateModel(
            name='CategoryBlog',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=100, unique=True)),
                ('lft',
                 models.PositiveIntegerField(db_index=True, editable=False)),
                ('rght',
                 models.PositiveIntegerField(db_index=True, editable=False)),
                ('tree_id',
                 models.PositiveIntegerField(db_index=True, editable=False)),
                ('level',
                 models.PositiveIntegerField(db_index=True, editable=False)),
                ('parent',
                 mptt.fields.TreeForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     related_name='children',
                     to='blog.CategoryBlog')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.AddField(
            model_name='blog',
            name='category',
            field=models.ManyToManyField(blank=True,
                                         null=True,
                                         to='blog.CategoryBlog'),
        ),
    ]
示例#19
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='Blog',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('created', model_utils.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False, verbose_name='created')),
                ('modified', model_utils.fields.AutoLastModifiedField(default=django.utils.timezone.now, editable=False, verbose_name='modified')),
                ('title', models.CharField(max_length=250, verbose_name='title')),
                ('slug', models.SlugField(allow_unicode=True, help_text='A short label containing only letters, numbers, underscores or hyphens for URL', max_length=255, unique=True, verbose_name='slug')),
                ('theme', models.CharField(default='default', max_length=250, verbose_name='theme')),
                ('markup', models.IntegerField(choices=[(0, 'html'), (1, 'markdown'), (2, 'text')], default=0, verbose_name='markup')),
                ('allow_comments', models.BooleanField(default=True, verbose_name='allow comments')),
                ('chunk_size', models.PositiveIntegerField(default=10, verbose_name='pagination chunk size')),
                ('block_size', models.PositiveIntegerField(default=10, verbose_name='pagination block size')),
                ('rss_size', models.PositiveIntegerField(default=10, verbose_name='RSS size')),
            ],
            options={
                'verbose_name': 'blog',
                'verbose_name_plural': 'blogs',
            },
        ),
        migrations.CreateModel(
            name='Category',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('created', model_utils.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False, verbose_name='created')),
                ('modified', model_utils.fields.AutoLastModifiedField(default=django.utils.timezone.now, editable=False, verbose_name='modified')),
                ('title', models.CharField(max_length=128, verbose_name='title')),
                ('slug', models.SlugField(allow_unicode=True, help_text='A short label containing only letters, numbers, underscores or hyphens for URL', max_length=255, unique=True, verbose_name='slug')),
                ('lft', models.PositiveIntegerField(editable=False)),
                ('rght', models.PositiveIntegerField(editable=False)),
                ('tree_id', models.PositiveIntegerField(db_index=True, editable=False)),
                ('level', models.PositiveIntegerField(editable=False)),
                ('blog', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='categories', to='blog.Blog', verbose_name='blog')),
                ('parent', mptt.fields.TreeForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='children', to='blog.Category', verbose_name='parent')),
            ],
            options={
                'verbose_name': 'category',
                'verbose_name_plural': 'categories',
            },
        ),
        migrations.CreateModel(
            name='Post',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('created', model_utils.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False, verbose_name='created')),
                ('modified', model_utils.fields.AutoLastModifiedField(default=django.utils.timezone.now, editable=False, verbose_name='modified')),
                ('is_removed', models.BooleanField(default=False)),
                ('title', models.CharField(help_text="The page title as you'd like it to be seen by the public", max_length=255, verbose_name='title')),
                ('description', models.CharField(blank=True, help_text="A short description not longer than 155 characters. Don't use double quotes.", max_length=255, verbose_name='description')),
                ('keywords', models.CharField(blank=True, help_text="A comma-separated list of keywords. Don't use double quotes.", max_length=255, verbose_name='keywords')),
                ('slug', models.SlugField(allow_unicode=True, help_text='A short label containing only letters, numbers, underscores or hyphens for URL', max_length=255, verbose_name='slug')),
                ('excerpt', models.TextField(blank=True, help_text='A short description which does not contain HTML tags', verbose_name='excerpt')),
                ('content', models.TextField(verbose_name='content')),
                ('thumbnail', easy_thumbnails.fields.ThumbnailerImageField(blank=True, upload_to=blog.models.upload_directory_path, verbose_name='thumbnail')),
                ('status', models.IntegerField(choices=[(0, 'draft'), (1, 'published'), (2, 'hidden')], db_index=True, default=0, verbose_name='status')),
                ('allow_highlight', models.BooleanField(default=False, verbose_name='allow code highlighting')),
                ('allow_comments', models.BooleanField(default=True, verbose_name='allow comments')),
                ('published', models.DateTimeField(null=True, verbose_name='published date')),
                ('view_count', models.PositiveIntegerField(default=0, verbose_name='view count')),
                ('ip_address', models.GenericIPAddressField(verbose_name='IP address')),
                ('blog', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='posts', to='blog.Blog', verbose_name='blog')),
                ('category', mptt.fields.TreeForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='blog.Category', verbose_name='category')),
                ('owner', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='blog_post_owned', to=settings.AUTH_USER_MODEL, verbose_name='owner')),
            ],
            options={
                'verbose_name': 'post',
                'verbose_name_plural': 'posts',
            },
        ),
        migrations.CreateModel(
            name='PostTag',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=100, unique=True, verbose_name='Name')),
                ('slug', models.SlugField(allow_unicode=True, max_length=100, unique=True, verbose_name='slug')),
            ],
            options={
                'verbose_name': 'tag',
                'verbose_name_plural': 'tags',
            },
        ),
        migrations.CreateModel(
            name='TaggedPost',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('content_object', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='blog.Post')),
                ('tag', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='blog_taggedpost_items', to='blog.PostTag')),
            ],
            options={
                'verbose_name': 'tagged post',
                'verbose_name_plural': 'tagged posts',
            },
        ),
        migrations.AddField(
            model_name='post',
            name='tags',
            field=taggit.managers.TaggableManager(blank=True, help_text='A comma-separated list of tags.', through='blog.TaggedPost', to='blog.PostTag', verbose_name='tags'),
        ),
        migrations.CreateModel(
            name='Comment',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('created', model_utils.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False, verbose_name='created')),
                ('modified', model_utils.fields.AutoLastModifiedField(default=django.utils.timezone.now, editable=False, verbose_name='modified')),
                ('is_removed', models.BooleanField(default=False)),
                ('content', models.TextField(verbose_name='content')),
                ('username', models.CharField(blank=True, max_length=32, null=True, verbose_name='username')),
                ('email', models.EmailField(blank=True, max_length=254, null=True, verbose_name='email address')),
                ('url', models.URLField(blank=True, null=True, verbose_name='website URL')),
                ('ip_address', models.GenericIPAddressField(verbose_name='IP address')),
                ('status', models.IntegerField(choices=[(0, 'approved'), (1, 'flagged'), (2, 'deleted')], db_index=True, default=0, verbose_name='status')),
                ('lft', models.PositiveIntegerField(editable=False)),
                ('rght', models.PositiveIntegerField(editable=False)),
                ('tree_id', models.PositiveIntegerField(db_index=True, editable=False)),
                ('level', models.PositiveIntegerField(editable=False)),
                ('owner', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='blog_comment_owned', to=settings.AUTH_USER_MODEL, verbose_name='owner')),
                ('parent', mptt.fields.TreeForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='children', to='blog.Comment', verbose_name='parent')),
                ('post', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='comments', to='blog.Post', verbose_name='post')),
            ],
            options={
                'verbose_name': 'comment',
                'verbose_name_plural': 'comments',
            },
            managers=[
                ('_tree_manager', django.db.models.manager.Manager()),
            ],
        ),
        migrations.CreateModel(
            name='Attachment',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=255, null=True, verbose_name='file name')),
                ('uid', models.UUIDField(default=uuid.uuid4, editable=False, unique=True, verbose_name='public identifier')),
                ('created', models.DateTimeField(auto_now_add=True, verbose_name='created time')),
                ('file', models.FileField(upload_to=blog.models.upload_directory_path, verbose_name='uploaded file')),
                ('post', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='attachments', to='blog.Post', verbose_name='post')),
            ],
            options={
                'verbose_name': 'attachment',
                'verbose_name_plural': 'attachments',
            },
        ),
    ]
示例#20
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('auth', '0012_alter_user_first_name_max_length'),
    ]

    operations = [
        migrations.CreateModel(
            name='MyUser',
            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')),
                ('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')),
                ('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')),
                ('username', models.CharField(max_length=200)),
                ('email',
                 models.EmailField(
                     help_text='Required',
                     max_length=200,
                     unique=True,
                     validators=[
                         django.core.validators.RegexValidator(
                             '^[a-zA-Z0-9]+([-._][a-zA-Z0-9]+)*@[a-zA-Z0-9]+([-.][a-zA-Z0-9]+)*\\.[a-zA-Z]{2,7}$',
                             'Invalid Email Address')
                     ])),
                ('name',
                 models.CharField(
                     max_length=50,
                     validators=[
                         django.core.validators.RegexValidator(
                             '^[a-zA-Z ]+$',
                             'Only letters and spaces are allowed in Name.')
                     ])),
                ('followers', models.PositiveIntegerField(default=0)),
                ('following', models.PositiveIntegerField(default=0)),
                ('image_user',
                 models.ImageField(default='default-avatar.png',
                                   upload_to=blog.models.user_upload_path)),
                ('age',
                 models.IntegerField(
                     default=22,
                     validators=[
                         django.core.validators.MaxValueValidator(110),
                         django.core.validators.MinValueValidator(5)
                     ])),
                ('bookmark_count', models.PositiveIntegerField(default=0)),
                ('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', blog.models.UserManager()),
            ],
        ),
        migrations.CreateModel(
            name='OtpModel',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('otp', models.IntegerField()),
                ('email', models.EmailField(max_length=254)),
                ('at_time', models.IntegerField()),
            ],
        ),
        migrations.CreateModel(
            name='Recipe',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title', models.CharField(max_length=50)),
                ('ingredients', models.TextField()),
                ('content', models.TextField()),
                ('category',
                 models.TextField(choices=[('starter', 'Starters'),
                                           ('main_course', 'Main Course'),
                                           ('desserts', 'Desserts'),
                                           ('drinks', 'Drinks & Smoothies'),
                                           ('others', 'Others')],
                                  default='Starters')),
                ('veg', models.BooleanField()),
                ('cook_time', models.PositiveIntegerField()),
                ('read_time', models.PositiveIntegerField(default=5)),
                ('img', models.ImageField(upload_to=blog.models.upload_path)),
                ('published_on', models.DateTimeField(auto_now_add=True)),
                ('modified_on', models.DateTimeField(auto_now=True)),
                ('points', models.PositiveIntegerField(default=0)),
                ('like_is', models.BooleanField(default=False)),
                ('bookmark_is', models.BooleanField(default=False)),
                ('owner',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='recipes',
                                   to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'ordering': ['-published_on'],
            },
        ),
        migrations.CreateModel(
            name='LikeSystem',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('active', models.IntegerField()),
                ('like_to',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='blog.recipe')),
                ('liked_by',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='likes',
                                   to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='BookmarkRecord',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('active', models.IntegerField()),
                ('bookmark_to',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='blog.recipe')),
                ('bookmarked_by',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='bookmarked',
                                   to=settings.AUTH_USER_MODEL)),
            ],
        ),
    ]
示例#21
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='Article',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created_at',
                 models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
                ('updated_at',
                 models.DateTimeField(auto_now=True, verbose_name='更新时间')),
                ('deleted_at',
                 models.DateTimeField(blank=True,
                                      default=None,
                                      null=True,
                                      verbose_name='删除时间')),
                ('title', models.CharField(max_length=255, verbose_name='标题')),
                ('description',
                 models.CharField(max_length=255, verbose_name='描述/摘要')),
                ('views',
                 models.PositiveIntegerField(default=0, verbose_name='访问量')),
                ('img',
                 models.ImageField(upload_to=blog.models.image_upload_to,
                                   verbose_name='文章图片')),
                ('article', models.TextField(verbose_name='文章')),
                ('likes',
                 models.PositiveIntegerField(default=0, verbose_name='点赞数')),
                ('topped', models.BooleanField(default=False,
                                               verbose_name='置顶')),
                ('status',
                 models.CharField(choices=[('PART', '未发布'),
                                           ('PUBLISHED', '已发布')],
                                  max_length=10,
                                  verbose_name='文章状态')),
                ('display_order',
                 models.IntegerField(default=999, verbose_name='标签排序')),
            ],
            options={
                'verbose_name': '文章',
                'verbose_name_plural': '文章',
                'ordering': ['display_order', 'pk'],
            },
        ),
        migrations.CreateModel(
            name='Category',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created_at',
                 models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
                ('updated_at',
                 models.DateTimeField(auto_now=True, verbose_name='更新时间')),
                ('deleted_at',
                 models.DateTimeField(blank=True,
                                      default=None,
                                      null=True,
                                      verbose_name='删除时间')),
                ('name', models.CharField(max_length=31, verbose_name='分类名称')),
                ('display_order',
                 models.IntegerField(default=999, verbose_name='分类排序')),
            ],
            options={
                'verbose_name': '文章分类',
                'verbose_name_plural': '文章分类',
                'ordering': ['display_order', 'pk'],
            },
        ),
        migrations.CreateModel(
            name='Comments',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created_at',
                 models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
                ('updated_at',
                 models.DateTimeField(auto_now=True, verbose_name='更新时间')),
                ('deleted_at',
                 models.DateTimeField(blank=True,
                                      default=None,
                                      null=True,
                                      verbose_name='删除时间')),
                ('name', models.CharField(max_length=30, verbose_name='姓名')),
                ('email', models.EmailField(max_length=254)),
                ('content', models.TextField(verbose_name='评论内容')),
                ('article',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='blog.Article',
                                   verbose_name='文章')),
                ('comment',
                 models.ForeignKey(blank=True,
                                   null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to='blog.Comments',
                                   verbose_name='被回复的评论')),
            ],
            options={
                'verbose_name': '评论',
                'verbose_name_plural': '评论',
            },
        ),
        migrations.CreateModel(
            name='Suggest',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created_at',
                 models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
                ('updated_at',
                 models.DateTimeField(auto_now=True, verbose_name='更新时间')),
                ('deleted_at',
                 models.DateTimeField(blank=True,
                                      default=None,
                                      null=True,
                                      verbose_name='删除时间')),
                ('name', models.CharField(max_length=30, verbose_name='姓名')),
                ('email', models.EmailField(max_length=254)),
                ('suggest', models.TextField(max_length=300,
                                             verbose_name='意见')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Tag',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created_at',
                 models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
                ('updated_at',
                 models.DateTimeField(auto_now=True, verbose_name='更新时间')),
                ('deleted_at',
                 models.DateTimeField(blank=True,
                                      default=None,
                                      null=True,
                                      verbose_name='删除时间')),
                ('name', models.CharField(max_length=30, verbose_name='标签名称')),
                ('display_order',
                 models.IntegerField(default=999, verbose_name='标签排序')),
                ('color',
                 models.CharField(default='#FFE9DC',
                                  max_length=10,
                                  verbose_name='标签颜色')),
            ],
            options={
                'verbose_name': '文章标签',
                'verbose_name_plural': '文章标签',
                'ordering': ['display_order', 'pk'],
            },
        ),
        migrations.AddField(
            model_name='article',
            name='category',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                to='blog.Category',
                verbose_name='所属分类'),
        ),
        migrations.AddField(
            model_name='article',
            name='tag',
            field=models.ManyToManyField(blank=True,
                                         help_text='标签id可以对应多个',
                                         null=True,
                                         to='blog.Tag',
                                         verbose_name='标签'),
        ),
        migrations.AddField(
            model_name='article',
            name='user',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                to=settings.AUTH_USER_MODEL,
                verbose_name='用户'),
        ),
    ]
示例#22
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('auth', '0008_alter_user_username_max_length'),
        ('contenttypes', '0002_remove_content_type_name'),
    ]

    operations = [
        migrations.CreateModel(
            name='Profile',
            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=30,
                                  verbose_name='first name')),
                ('last_name',
                 models.CharField(blank=True,
                                  max_length=30,
                                  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')),
                ('avatar',
                 models.ImageField(default='user_pics/boss-1.png',
                                   upload_to='uploads/%Y/%m/%d',
                                   verbose_name='Avatar image of the user')),
                ('rating',
                 models.IntegerField(default=0,
                                     verbose_name='Rating of the user')),
                ('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={
                'ordering': ['-rating'],
            },
            managers=[
                ('objects', blog.models.UserManager()),
            ],
        ),
        migrations.CreateModel(
            name='Answer',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('text',
                 models.TextField(verbose_name='Full text of the answer')),
                ('creationTime',
                 models.DateTimeField(
                     default=django.utils.timezone.now,
                     verbose_name='Date and time the answer was published')),
                ('rating',
                 models.IntegerField(default=0, verbose_name='Votes ratio')),
                ('is_correct',
                 models.BooleanField(
                     default=False,
                     verbose_name='If answer is marked as correct')),
                ('author',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='answers',
                                   to=settings.AUTH_USER_MODEL,
                                   verbose_name='Author of the answer')),
            ],
            options={
                'ordering': ['-creationTime'],
            },
        ),
        migrations.CreateModel(
            name='Like',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('value',
                 models.IntegerField(choices=[(-1, 'DISLIKE'), (1, 'LIKE')],
                                     verbose_name='Like or dislike')),
                ('object_id',
                 models.PositiveIntegerField(
                     null=True, verbose_name='if of related object')),
                ('author',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL,
                                   verbose_name='Author of the like')),
                ('content_type',
                 models.ForeignKey(null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to='contenttypes.ContentType')),
            ],
        ),
        migrations.CreateModel(
            name='Question',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title',
                 models.CharField(max_length=120,
                                  verbose_name='Title of the question')),
                ('text', models.TextField()),
                ('creationTime',
                 models.DateTimeField(
                     default=django.utils.timezone.now,
                     verbose_name='Creation date of the question')),
                ('rating',
                 models.IntegerField(default=0, verbose_name='Votes ratio')),
                ('author',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='questions',
                                   to=settings.AUTH_USER_MODEL,
                                   verbose_name='Author of the Quetstion')),
            ],
            options={
                'ordering': ['-creationTime'],
            },
        ),
        migrations.CreateModel(
            name='Tag',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(max_length=15,
                                  verbose_name='Name of the tag')),
            ],
            options={
                'ordering': ['name'],
            },
        ),
        migrations.AddField(
            model_name='question',
            name='tags',
            field=models.ManyToManyField(blank=True,
                                         related_name='questions',
                                         to='blog.Tag',
                                         verbose_name='tags of the Question'),
        ),
        migrations.AddField(
            model_name='answer',
            name='question',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                to='blog.Question',
                verbose_name='Question that is being answered'),
        ),
        migrations.AlterUniqueTogether(
            name='like',
            unique_together=set([('author', 'content_type', 'object_id')]),
        ),
    ]
示例#23
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(db_index=True, max_length=25)),
                ('slug', models.SlugField(allow_unicode=True, editable=False)),
                ('position',
                 models.PositiveSmallIntegerField(db_index=True, unique=True)),
                ('lft', models.PositiveIntegerField(editable=False)),
                ('rght', models.PositiveIntegerField(editable=False)),
                ('tree_id',
                 models.PositiveIntegerField(db_index=True, editable=False)),
                ('level', models.PositiveIntegerField(editable=False)),
                ('parent',
                 mptt.fields.TreeForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     related_name='children',
                     to='blog.Category')),
            ],
            options={
                'verbose_name': 'Category',
                'verbose_name_plural': 'Categories',
                'ordering': ('name', ),
                'unique_together': {('slug', 'parent')},
            },
        ),
        migrations.CreateModel(
            name='Post',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title', models.CharField(max_length=200)),
                ('body', models.TextField()),
                ('draft', models.BooleanField(default=False)),
                ('slug',
                 models.SlugField(allow_unicode=True,
                                  editable=False,
                                  max_length=200,
                                  unique=True)),
                ('publish_date', models.DateTimeField(blank=True, null=True)),
                ('timestamp', models.DateTimeField(auto_now_add=True)),
                ('updated', models.DateTimeField(auto_now=True)),
                ('author',
                 models.ForeignKey(default=1,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   related_name='authorpost',
                                   to=settings.AUTH_USER_MODEL)),
                ('category',
                 mptt.fields.TreeForeignKey(
                     on_delete=django.db.models.deletion.CASCADE,
                     related_name='postcategory',
                     to='blog.Category')),
            ],
            options={
                'ordering': ['-publish_date', '-updated', '-timestamp'],
                'index_together': {('id', 'slug')},
            },
        ),
        migrations.CreateModel(
            name='Photo',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('file',
                 models.ImageField(
                     blank=True,
                     null=True,
                     unique=True,
                     upload_to=blog.models.images_directory_path)),
                ('timestamp', models.DateTimeField(auto_now_add=True)),
                ('post',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='photos',
                                   to='blog.Post')),
            ],
        ),
    ]
示例#24
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=100)),
            ],
        ),
        migrations.CreateModel(
            name='Post',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title', models.CharField(max_length=250)),
                ('excerpt', models.TextField()),
                ('image',
                 models.ImageField(default='posts/default.jpg',
                                   upload_to=blog.models.user_directory_path)),
                ('slug',
                 models.SlugField(max_length=250, unique_for_date='publish')),
                ('publish',
                 models.DateTimeField(default=django.utils.timezone.now)),
                ('content', models.TextField()),
                ('status',
                 models.CharField(choices=[('draft', 'Draft'),
                                           ('published', 'Published')],
                                  default='draft',
                                  max_length=10)),
                ('author',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='blog_posts',
                                   to=settings.AUTH_USER_MODEL)),
                ('category',
                 models.ForeignKey(default=1,
                                   on_delete=django.db.models.deletion.PROTECT,
                                   to='blog.category')),
            ],
            options={
                'ordering': ('-publish', ),
            },
        ),
        migrations.CreateModel(
            name='Comment',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=50)),
                ('email', models.EmailField(max_length=254)),
                ('content', models.TextField()),
                ('publish', models.DateTimeField(auto_now_add=True)),
                ('status', models.BooleanField(default=True)),
                ('lft', models.PositiveIntegerField(editable=False)),
                ('rght', models.PositiveIntegerField(editable=False)),
                ('tree_id',
                 models.PositiveIntegerField(db_index=True, editable=False)),
                ('level', models.PositiveIntegerField(editable=False)),
                ('parent',
                 mptt.fields.TreeForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     related_name='children',
                     to='blog.comment')),
                ('post',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='comments',
                                   to='blog.post')),
            ],
            options={
                'abstract': False,
            },
        ),
    ]
示例#25
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=100, unique=True)),
                ('slug',
                 models.SlugField(
                     help_text=
                     'Slug will be generated automatically from the name of the Category',
                     max_length=100,
                     unique=True)),
                ('width', models.PositiveIntegerField(default=0)),
                ('height', models.PositiveIntegerField(default=0)),
                ('starter_image_cat',
                 models.ImageField(height_field='height',
                                   upload_to='starterImages',
                                   width_field='width')),
                ('description',
                 ckeditor_uploader.fields.RichTextUploadingField(
                     blank=True, default='nothing')),
                ('author',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name_plural': 'Categories',
            },
        ),
        migrations.CreateModel(
            name='Comment',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('author', models.CharField(max_length=200)),
                ('email', models.EmailField(max_length=254)),
                ('text', models.TextField()),
                ('created_date',
                 models.DateTimeField(default=django.utils.timezone.now)),
                ('updated_date', models.DateTimeField(auto_now=True)),
                ('approved_comment', models.BooleanField(default=False)),
            ],
        ),
        migrations.CreateModel(
            name='Post',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title', models.CharField(max_length=200)),
                ('slug',
                 models.SlugField(
                     help_text=
                     'Slug will be generated automatically from the title of the post',
                     unique=True)),
                ('content', ckeditor_uploader.fields.RichTextUploadingField()),
                ('width', models.PositiveIntegerField(default=0)),
                ('height', models.PositiveIntegerField(default=0)),
                ('starter_image_post',
                 models.ImageField(height_field='height',
                                   upload_to='starterImages',
                                   width_field='width')),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('published_at', models.DateTimeField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
                ('video_file',
                 models.FileField(blank=True,
                                  default='Sorry, es gibt kein Video zum Post',
                                  upload_to=blog.models.video_dir_path)),
                ('status',
                 models.CharField(choices=[('draft', 'Draft'),
                                           ('published', 'Published')],
                                  default='draft',
                                  max_length=10)),
                ('link', models.CharField(blank=True, max_length=200)),
                ('author',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
                ('category',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='blog.Category')),
            ],
            options={
                'ordering': ('-published_at', ),
            },
        ),
        migrations.CreateModel(
            name='Tag',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=100, unique=True)),
                ('slug',
                 models.SlugField(
                     help_text=
                     'Slug will be generated automatically from the name of the Tag',
                     max_length=100,
                     unique=True)),
                ('author',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.AddField(
            model_name='post',
            name='tags',
            field=models.ManyToManyField(to='blog.Tag'),
        ),
        migrations.AddField(
            model_name='comment',
            name='post',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name='comments',
                to='blog.Post'),
        ),
    ]
示例#26
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('contenttypes', '0002_remove_content_type_name'),
        ('taggit', '0003_taggeditem_add_unique_index'),
    ]

    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=120)),
                ('slug', models.SlugField(blank=True, unique=True)),
            ],
            options={
                'verbose_name': 'Категория',
                'verbose_name_plural': 'Категории',
            },
        ),
        migrations.CreateModel(
            name='IpUser',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('ip', models.CharField(max_length=50, verbose_name='IP строка')),
            ],
        ),
        migrations.CreateModel(
            name='Comment',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=64, verbose_name='Имя пользователя')),
                ('comment', models.TextField()),
                ('created', models.DateTimeField(auto_now_add=True, verbose_name='Дата создания')),
                ('object_id', models.PositiveIntegerField()),
                ('content_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='contenttypes.ContentType')),
            ],
        ),
        migrations.CreateModel(
            name='Article',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(max_length=225, verbose_name='Название')),
                ('slug', models.SlugField(blank=True, max_length=255, unique=True)),
                ('image', models.ImageField(blank=True, upload_to=blog.models.generate_filename, verbose_name='Фото')),
                ('content', ckeditor_uploader.fields.RichTextUploadingField(blank=True, default='')),
                ('likes', models.PositiveIntegerField(default=0)),
                ('dislikes', models.PositiveIntegerField(default=0)),
                ('created', models.DateTimeField(auto_now_add=True, verbose_name='Дата создания')),
                ('category', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='blog.Category', verbose_name='Категория')),
                ('ip_like', models.ManyToManyField(to='blog.IpUser', verbose_name='Кто лайкнул (IP)')),
                ('tags', taggit.managers.TaggableManager(help_text='A comma-separated list of tags.', through='taggit.TaggedItem', to='taggit.Tag', verbose_name='Tags')),
            ],
            options={
                'verbose_name': 'Статья',
                'verbose_name_plural': 'Статьи',
            },
            bases=(models.Model, hitcount.models.HitCountMixin),
        ),
    ]
示例#27
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=255,
                                          verbose_name='分类名称')),
            ],
            options={
                'verbose_name': '分类',
                'verbose_name_plural': '分类',
            },
        ),
        migrations.CreateModel(
            name='Tag',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=255, verbose_name='标签')),
            ],
            options={
                'verbose_name': '博客标签',
            },
        ),
        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='文章标题')),
                ('img',
                 models.ImageField(blank=True,
                                   null=True,
                                   upload_to=blog.models.article_img_path,
                                   verbose_name='文章配图')),
                ('content', models.TextField(verbose_name='文章内容')),
                ('abstract',
                 models.TextField(blank=True,
                                  max_length=255,
                                  null=True,
                                  verbose_name='文章摘要')),
                ('visited',
                 models.PositiveIntegerField(default=0, verbose_name='访问量')),
                ('created_time',
                 models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
                ('updated_time',
                 models.DateTimeField(auto_now=True, verbose_name='更新时间')),
                ('author',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL,
                                   verbose_name='作者')),
                ('category',
                 models.ManyToManyField(to='blog.Category',
                                        verbose_name='文章分类')),
                ('tags',
                 models.ManyToManyField(to='blog.Tag', verbose_name='标签')),
            ],
            options={
                'verbose_name': '文章内容',
                'verbose_name_plural': '文章内容',
                'ordering': ['-created_time'],
            },
        ),
    ]
示例#28
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='Article',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=512, unique=True, verbose_name='Name')),
                ('created', models.DateTimeField(auto_now_add=True, verbose_name='Created')),
                ('updated', models.DateTimeField(auto_now=True, verbose_name='Updated')),
                ('slug', models.CharField(blank=True, db_index=True, max_length=256, verbose_name='Slug')),
                ('title', models.CharField(blank=True, max_length=256, verbose_name='Title')),
                ('description', models.TextField(blank=True, max_length=1024, verbose_name='Description')),
                ('content', models.TextField(blank=True, verbose_name='Content')),
                ('published_date', models.DateTimeField(blank=True, null=True, verbose_name='Published')),
                ('published', models.NullBooleanField(verbose_name='Is published')),
                ('deleted', models.NullBooleanField(verbose_name='Is deleted')),
                ('author_name', models.CharField(blank=True, max_length=256, verbose_name='Author name')),
            ],
            options={
                'ordering': ['-created'],
                'verbose_name': 'Article',
                'verbose_name_plural': 'Articles',
            },
        ),
        migrations.CreateModel(
            name='ArticleList',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('read', models.BooleanField(default=False, verbose_name='Is read')),
                ('notified', models.NullBooleanField(verbose_name='Is notified')),
                ('article', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='blog.Article', verbose_name='Article')),
                ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Subscriber')),
            ],
        ),
        migrations.CreateModel(
            name='Blog',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=512, unique=True, verbose_name='Name')),
                ('created', models.DateTimeField(auto_now_add=True, verbose_name='Created')),
                ('updated', models.DateTimeField(auto_now=True, verbose_name='Updated')),
                ('deleted', models.BooleanField(default=False, verbose_name='Is deleted')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='CustomImage',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('img', models.ImageField(upload_to=blog.models.get_avatar_path, verbose_name='Custom Image')),
            ],
        ),
        migrations.CreateModel(
            name='CustomUser',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('phone', models.CharField(max_length=32, verbose_name='Phone number')),
                ('skype', models.CharField(blank=True, max_length=128, null=True, verbose_name='Skype nick')),
                ('avatar', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='blog.CustomImage', verbose_name='User avatar')),
                ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='Mail',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=512, unique=True, verbose_name='Name')),
                ('created', models.DateTimeField(auto_now_add=True, verbose_name='Created')),
                ('updated', models.DateTimeField(auto_now=True, verbose_name='Updated')),
                ('sended', models.NullBooleanField(verbose_name='Is sent')),
                ('status', models.SmallIntegerField(default=1, verbose_name='Sending status')),
                ('to_addr', models.EmailField(max_length=254, verbose_name='Subscriber email address')),
                ('sending_date', models.DateTimeField(blank=True, null=True, verbose_name='Date of sending')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='MailTemplate',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=512, unique=True, verbose_name='Name')),
                ('created', models.DateTimeField(auto_now_add=True, verbose_name='Created')),
                ('updated', models.DateTimeField(auto_now=True, verbose_name='Updated')),
                ('subject', models.CharField(max_length=128, verbose_name='Subject')),
                ('from_addr', models.EmailField(blank=True, max_length=254, verbose_name='Sender email address')),
                ('message', models.TextField(blank=True, verbose_name='Body')),
                ('slug', models.SlugField(help_text='Unique slug for internal usages.', unique=True, verbose_name='Slug')),
                ('num_of_retries', models.PositiveIntegerField(default=0, verbose_name='Number of retries')),
                ('interval', models.PositiveIntegerField(blank=True, help_text='Specify sending interval in the seconds.', null=True, verbose_name='Send interval')),
                ('default', models.BooleanField(default=False, verbose_name='Is default template')),
            ],
            options={
                'ordering': ['-created'],
                'verbose_name': 'Mail template',
                'verbose_name_plural': 'Mail templates',
            },
        ),
        migrations.AddField(
            model_name='blog',
            name='author',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='author', to='blog.CustomUser', verbose_name='Author'),
        ),
        migrations.AddField(
            model_name='blog',
            name='subscribers',
            field=models.ManyToManyField(blank=True, null=True, to='blog.CustomUser', verbose_name='Subscribed users'),
        ),
        migrations.AddField(
            model_name='article',
            name='blog',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='blog.Blog'),
        ),
    ]