Beispiel #1
0
class Migration(migrations.Migration):

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name='Book',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=255)),
                ('branch',
                 models.CharField(choices=[
                     ('CSE', 'Computer Science Engineering'),
                     ('ECE', 'Electronics & Communication Engineering')
                 ],
                                  default='CSE',
                                  max_length=15)),
                ('semester', models.IntegerField()),
                ('file',
                 models.FileField(upload_to=books.models.get_file_path)),
            ],
        ),
    ]
Beispiel #2
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='Book',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(max_length=64)),
                ('price', models.PositiveIntegerField()),
                ('description', models.TextField(max_length=500)),
                ('image', models.FileField(upload_to=books.models.book_directory_path)),
            ],
        ),
        migrations.CreateModel(
            name='Category',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=32, unique=True)),
            ],
        ),
        migrations.CreateModel(
            name='Publisher',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=32)),
                ('address', models.CharField(max_length=128)),
                ('phone', models.CharField(max_length=32)),
            ],
        ),
        migrations.CreateModel(
            name='Tag',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=20, unique=True)),
            ],
        ),
        migrations.AddField(
            model_name='book',
            name='category',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='books.Category'),
        ),
        migrations.AddField(
            model_name='book',
            name='publisher',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='books.Publisher'),
        ),
        migrations.AddField(
            model_name='book',
            name='tags',
            field=models.ManyToManyField(to='books.Tag'),
        ),
    ]
class Migration(migrations.Migration):

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

    operations = [
        migrations.AddField(
            model_name='books',
            name='cover_image',
            field=models.FileField(blank=True,
                                   null=True,
                                   upload_to=books.models.get_file_path),
        ),
    ]
class Migration(migrations.Migration):

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

    operations = [
        migrations.AddField(
            model_name='book',
            name='cover',
            field=models.FileField(default=None,
                                   null=True,
                                   upload_to=books.models.book_upload_cover),
        ),
    ]
Beispiel #5
0
class Migration(migrations.Migration):

    dependencies = [
        ('books', '0015_auto_20190518_1845'),
    ]

    operations = [
        migrations.AlterModelOptions(
            name='books',
            options={'ordering': ('title', )},
        ),
        migrations.AddField(
            model_name='books',
            name='typology',
            field=models.ForeignKey(
                null=True,
                on_delete=django.db.models.deletion.PROTECT,
                to='books.Type'),
        ),
        migrations.AlterField(
            model_name='books',
            name='downloads',
            field=models.IntegerField(default=0, editable=False),
        ),
        migrations.AlterField(
            model_name='books',
            name='image',
            field=models.ImageField(blank=True, upload_to='images/'),
        ),
        migrations.AlterField(
            model_name='books',
            name='pdf',
            field=models.FileField(
                upload_to=books.models.Document.path_and_rename),
        ),
        migrations.AlterField(
            model_name='books',
            name='slug',
            field=models.SlugField(max_length=255),
        ),
        migrations.AlterField(
            model_name='books',
            name='uploader',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.PROTECT,
                to=settings.AUTH_USER_MODEL),
        ),
    ]
Beispiel #6
0
class Migration(migrations.Migration):

    dependencies = [
        ('books', '0004_auto_20191209_1802'),
    ]

    operations = [
        migrations.AddField(
            model_name='book',
            name='book_src',
            field=models.FileField(blank=True,
                                   null=True,
                                   upload_to=books.models.upload_book,
                                   verbose_name='Book Source'),
        ),
    ]
class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='Book',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField()),
                ('cover', models.FileField(blank=True, upload_to=books.models.cover_upload_path)),
            ],
        ),
    ]
class Migration(migrations.Migration):

    dependencies = [
        ('books', '0003_author_detail_introduction'),
    ]

    operations = [
        migrations.RenameField(
            model_name='author_detail',
            old_name='photo',
            new_name='photo1',
        ),
        migrations.RenameField(
            model_name='book_detail',
            old_name='image',
            new_name='image1',
        ),
        migrations.AddField(
            model_name='author_detail',
            name='photo2',
            field=models.FileField(
                blank=True,
                null=True,
                upload_to=books.models.upload_location_authors),
        ),
        migrations.AddField(
            model_name='author_detail',
            name='photo3',
            field=models.FileField(
                blank=True,
                null=True,
                upload_to=books.models.upload_location_authors),
        ),
        migrations.AddField(
            model_name='book_detail',
            name='image2',
            field=models.FileField(
                blank=True,
                null=True,
                upload_to=books.models.upload_location_books),
        ),
        migrations.AddField(
            model_name='book_detail',
            name='image3',
            field=models.FileField(
                blank=True,
                null=True,
                upload_to=books.models.upload_location_books),
        ),
        migrations.AddField(
            model_name='book_detail',
            name='image4',
            field=models.FileField(
                blank=True,
                null=True,
                upload_to=books.models.upload_location_books),
        ),
        migrations.AddField(
            model_name='book_detail',
            name='image5',
            field=models.FileField(
                blank=True,
                null=True,
                upload_to=books.models.upload_location_books),
        ),
    ]
class Migration(migrations.Migration):

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name='author_detail',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=30)),
                ('list_of_books', models.TextField(blank=True, null=True)),
                ('photo',
                 models.FileField(
                     blank=True,
                     null=True,
                     upload_to=books.models.upload_location_authors)),
                ('email_id', models.CharField(blank=True, max_length=30)),
                ('phone_no', models.CharField(blank=True, max_length=15)),
                ('address', models.CharField(blank=True, max_length=100)),
                ('gender',
                 models.CharField(blank=True,
                                  choices=[('Male', 'Male'),
                                           ('Female', 'Female'),
                                           ('Others', 'Others')],
                                  max_length=10)),
                ('writing_field',
                 models.CharField(blank=True,
                                  choices=[
                                      ('Science fiction', 'Science fiction'),
                                      ('Satire', 'Satire'), ('Drama', 'Drama'),
                                      ('Action and Adventure',
                                       'Action and Adventure'),
                                      ('Romance', 'Romance'),
                                      ('Mystery', 'Mystery'),
                                      ('Horror', 'Horror'),
                                      ('Self help', 'Self help'),
                                      ('Health', 'Health'), ('Guide', 'Guide'),
                                      ('Travel', 'Travel'),
                                      ("Children's", "Children's"),
                                      ('Religion, Spirituality & New Age',
                                       'Religion, Spirituality & New Age'),
                                      ('Science', 'Science'),
                                      ('History', 'History'), ('Math', 'Math'),
                                      ('Anthology', 'Anthology'),
                                      ('Poetry', 'Poetry'),
                                      ('Encyclopedias', 'Encyclopedias'),
                                      ('Dictionaries', 'Dictionaries'),
                                      ('Comics', 'Comics'), ('Art', 'Art'),
                                      ('Cookbooks', 'Cookbooks'),
                                      ('Diaries', 'Diaries'),
                                      ('Journals', 'Journals'),
                                      ('Prayer books', 'Prayer books'),
                                      ('Series', 'Series'),
                                      ('Trilogy', 'Trilogy'),
                                      ('Biographies', 'Biographies'),
                                      ('Autobiographies', 'Autobiographies'),
                                      ('Fantasy', 'Fantasy')
                                  ],
                                  max_length=20)),
                ('youtube_video', models.CharField(blank=True,
                                                   max_length=150)),
            ],
        ),
        migrations.CreateModel(
            name='book_detail',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=30)),
                ('image',
                 models.FileField(
                     blank=True,
                     null=True,
                     upload_to=books.models.upload_location_books)),
                ('description', models.TextField(blank=True, null=True)),
                ('category',
                 models.CharField(blank=True,
                                  choices=[
                                      ('Science fiction', 'Science fiction'),
                                      ('Satire', 'Satire'), ('Drama', 'Drama'),
                                      ('Action and Adventure',
                                       'Action and Adventure'),
                                      ('Romance', 'Romance'),
                                      ('Mystery', 'Mystery'),
                                      ('Horror', 'Horror'),
                                      ('Self help', 'Self help'),
                                      ('Health', 'Health'), ('Guide', 'Guide'),
                                      ('Travel', 'Travel'),
                                      ("Children's", "Children's"),
                                      ('Religion, Spirituality & New Age',
                                       'Religion, Spirituality & New Age'),
                                      ('Science', 'Science'),
                                      ('History', 'History'), ('Math', 'Math'),
                                      ('Anthology', 'Anthology'),
                                      ('Poetry', 'Poetry'),
                                      ('Encyclopedias', 'Encyclopedias'),
                                      ('Dictionaries', 'Dictionaries'),
                                      ('Comics', 'Comics'), ('Art', 'Art'),
                                      ('Cookbooks', 'Cookbooks'),
                                      ('Diaries', 'Diaries'),
                                      ('Journals', 'Journals'),
                                      ('Prayer books', 'Prayer books'),
                                      ('Series', 'Series'),
                                      ('Trilogy', 'Trilogy'),
                                      ('Biographies', 'Biographies'),
                                      ('Autobiographies', 'Autobiographies'),
                                      ('Fantasy', 'Fantasy')
                                  ],
                                  max_length=20)),
                ('author_name', models.CharField(blank=True, max_length=30)),
                ('isbn_number', models.CharField(blank=True, max_length=30)),
                ('mrp', models.IntegerField(blank=True)),
                ('discount', models.IntegerField(blank=True)),
                ('selling_price', models.IntegerField(blank=True)),
                ('preview',
                 models.FileField(
                     blank=True,
                     null=True,
                     upload_to=books.models.upload_location_books)),
                ('book',
                 models.FileField(
                     blank=True,
                     null=True,
                     upload_to=books.models.upload_location_books)),
                ('updated', models.DateTimeField(auto_now=True)),
                ('timestamp', models.DateTimeField(auto_now_add=True)),
            ],
        ),
    ]
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('auth', '0011_update_proxy_permissions'),
    ]

    operations = [
        migrations.CreateModel(
            name='User',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('password',
                 models.CharField(max_length=128, verbose_name='password')),
                ('last_login',
                 models.DateTimeField(blank=True,
                                      null=True,
                                      verbose_name='last login')),
                ('is_superuser',
                 models.BooleanField(
                     default=False,
                     help_text=
                     'Designates that this user has all permissions without explicitly assigning them.',
                     verbose_name='superuser status')),
                ('username',
                 models.CharField(
                     error_messages={
                         'unique': 'A user with that username already exists.'
                     },
                     help_text=
                     'Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.',
                     max_length=150,
                     unique=True,
                     validators=[
                         django.contrib.auth.validators.
                         UnicodeUsernameValidator()
                     ],
                     verbose_name='username')),
                ('first_name',
                 models.CharField(blank=True,
                                  max_length=30,
                                  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')),
                ('email',
                 models.EmailField(max_length=254,
                                   unique=True,
                                   verbose_name='email address')),
                ('groups',
                 models.ManyToManyField(
                     blank=True,
                     help_text=
                     'The groups this user belongs to. A user will get all permissions granted to each of their groups.',
                     related_name='user_set',
                     related_query_name='user',
                     to='auth.Group',
                     verbose_name='groups')),
                ('user_permissions',
                 models.ManyToManyField(
                     blank=True,
                     help_text='Specific permissions for this user.',
                     related_name='user_set',
                     related_query_name='user',
                     to='auth.Permission',
                     verbose_name='user permissions')),
            ],
            options={
                'verbose_name': 'user',
                'verbose_name_plural': 'users',
                'abstract': False,
            },
            managers=[
                ('objects', django.contrib.auth.models.UserManager()),
            ],
        ),
        migrations.CreateModel(
            name='Language',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=100)),
            ],
        ),
        migrations.CreateModel(
            name='Book',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=200)),
                ('about', models.TextField()),
                ('count', models.IntegerField(default=0)),
                ('image',
                 models.ImageField(upload_to=books.models.upload_image)),
                ('book_pdf',
                 models.FileField(
                     upload_to=books.models.upload_image,
                     validators=[
                         django.core.validators.FileExtensionValidator(['pdf'])
                     ])),
                ('genere',
                 models.CharField(choices=[('0', 'Romantic'), ('1', 'Horror'),
                                           ('2', 'Comedy')],
                                  max_length=2)),
                ('author',
                 models.ForeignKey(on_delete=django.db.models.deletion.PROTECT,
                                   related_name='bauthor',
                                   to=settings.AUTH_USER_MODEL)),
                ('language',
                 models.ManyToManyField(related_name='book',
                                        to='books.Language')),
            ],
            options={
                'ordering': ('-pk', ),
            },
        ),
    ]
Beispiel #11
0
class Migration(migrations.Migration):

    initial = True

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

    operations = [
        migrations.CreateModel(
            name='Author',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created', models.DateTimeField(auto_now=True)),
                ('updated', models.DateTimeField(auto_now_add=True)),
                ('slug', models.CharField(blank=True, max_length=255)),
                ('name', models.CharField(max_length=255, unique=True)),
                ('dob', models.DateTimeField(blank=True, null=True)),
                ('country',
                 models.CharField(blank=True, max_length=150, null=True)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Book',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created', models.DateTimeField(auto_now=True)),
                ('updated', models.DateTimeField(auto_now_add=True)),
                ('slug', models.CharField(blank=True, max_length=255)),
                ('isbn13',
                 models.CharField(blank=True, max_length=10, null=True)),
                ('isbn10',
                 models.CharField(blank=True, max_length=10, null=True)),
                ('title', models.CharField(max_length=255, unique=True)),
                ('edition',
                 models.PositiveSmallIntegerField(blank=True, null=True)),
                ('cover',
                 models.ImageField(blank=True,
                                   upload_to=books.models.book_cover_path)),
                ('item', models.FileField(upload_to='book_file_path')),
                ('description',
                 models.CharField(blank=True, max_length=255, null=True)),
                ('author', models.ManyToManyField(null=True,
                                                  to='books.Author')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Category',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created', models.DateTimeField(auto_now=True)),
                ('updated', models.DateTimeField(auto_now_add=True)),
                ('slug', models.CharField(blank=True, max_length=255)),
                ('title', models.CharField(max_length=255, unique=True)),
                ('description',
                 models.CharField(blank=True, max_length=255, null=True)),
                ('parent',
                 models.ForeignKey(blank=True,
                                   null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to='books.Category')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Publisher',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created', models.DateTimeField(auto_now=True)),
                ('updated', models.DateTimeField(auto_now_add=True)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.AddField(
            model_name='book',
            name='category',
            field=models.ManyToManyField(blank=True,
                                         null=True,
                                         to='books.Category'),
        ),
        migrations.AddField(
            model_name='book',
            name='user',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                to=settings.AUTH_USER_MODEL),
        ),
    ]
Beispiel #12
0
class Migration(migrations.Migration):

    initial = True

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

    operations = [
        migrations.CreateModel(
            name='Book',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(max_length=200, verbose_name='Book Title')),
                ('book_src',
                 models.FileField(blank=True,
                                  null=True,
                                  upload_to=books.models.upload_book,
                                  verbose_name='Book Source')),
                ('pages',
                 models.PositiveSmallIntegerField(blank=True, null=True)),
                ('published_on',
                 models.DateField(blank=True,
                                  default=datetime.date.today,
                                  null=True)),
                ('genre',
                 models.CharField(choices=[('adventure', 'Adventure'),
                                           ('history', 'History'),
                                           ('fiction', 'Fiction'),
                                           ('nonfiction', 'Non-Fiction')],
                                  max_length=50)),
                ('photo',
                 models.ImageField(blank=True,
                                   max_length=1000,
                                   null=True,
                                   upload_to='Book_Covers/')),
                ('summary',
                 models.TextField(blank=True,
                                  null=True,
                                  verbose_name='Summary')),
                ('author',
                 models.ForeignKey(blank=True,
                                   null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to='authors.Author')),
            ],
        ),
        migrations.CreateModel(
            name='Review',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('username',
                 models.CharField(max_length=50, verbose_name='Username')),
                ('stars',
                 models.IntegerField(choices=[(1, '1'), (2, '2'), (3, '3'),
                                              (4, '4'), (5, '5')],
                                     verbose_name='Stars')),
                ('comment',
                 models.TextField(blank=True,
                                  null=True,
                                  verbose_name='Your Comment')),
                ('book',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='book_review',
                                   to='books.Book',
                                   verbose_name='Book')),
            ],
            options={
                'verbose_name': 'Review',
                'verbose_name_plural': 'Reviews',
            },
        ),
    ]
class Migration(migrations.Migration):

    replaces = [('books', '0001_initial'),
                ('books', '0002_auto_20160218_1121'),
                ('books', '0003_auto_20160222_1200'),
                ('books', '0004_auto_20160222_1230'),
                ('books', '0005_auto_20160224_1637'),
                ('books', '0006_auto_20160225_1410'),
                ('books', '0007_auto_20160229_1326'),
                ('books', '0008_book_concept_coach_link'),
                ('books', '0009_auto_20160307_1106'),
                ('books', '0010_auto_20160309_1016'),
                ('books', '0011_book_table_of_contents'),
                ('books', '0012_book_student_handbook'),
                ('books', '0013_auto_20160316_1555'),
                ('books', '0014_book_errata_link'),
                ('books', '0015_auto_20160328_1056'),
                ('books', '0016_book_license_text'),
                ('books', '0017_auto_20160407_1154'),
                ('books', '0018_book_ibook_link_volume_2'),
                ('books', '0019_auto_20160419_0955'),
                ('books', '0020_auto_20160421_2139'),
                ('books', '0021_auto_20160531_1045'),
                ('books', '0022_auto_20160617_1216'),
                ('books', '0023_auto_20160622_1556'),
                ('books', '0024_book_authors'),
                ('books', '0025_auto_20160719_1359'),
                ('books', '0026_auto_20160815_1159'),
                ('books', '0027_auto_20160901_1548'),
                ('books', '0028_book_coming_soon'),
                ('books', '0029_auto_20161025_1300'),
                ('books', '0030_auto_20161026_1541'),
                ('books', '0031_auto_20170330_0831'),
                ('books', '0032_book_comp_copy_available'),
                ('books', '0033_auto_20170414_0856'),
                ('books', '0034_book_tutor_marketing_book'),
                ('books', '0035_auto_20170706_2239'),
                ('books', '0036_auto_20170707_1305'),
                ('books', '0037_book_kindle_link'),
                ('books', '0038_auto_20180125_1347'),
                ('books', '0039_auto_20180301_1107'),
                ('books', '0040_auto_20180402_1158'),
                ('books', '0041_auto_20180403_1123'),
                ('books', '0042_auto_20180403_1132'),
                ('books', '0043_auto_20180405_1413'),
                ('books', '0044_auto_20180405_1452'),
                ('books', '0045_auto_20180405_1454'),
                ('books', '0046_auto_20180405_1459'),
                ('books', '0047_auto_20180405_1531'),
                ('books', '0048_auto_20180405_1621'),
                ('books', '0049_auto_20180406_0959'),
                ('books', '0050_auto_20180406_1002'),
                ('books', '0051_bookcommunityresources'),
                ('books', '0052_auto_20180406_1005'),
                ('books', '0053_auto_20180409_1242'),
                ('books', '0054_auto_20180418_1034'),
                ('books', '0055_auto_20180502_1255'),
                ('books', '0056_auto_20180711_0921'),
                ('books', '0057_auto_20180713_1227'),
                ('books', '0058_remove_book_subject'),
                ('books', '0059_book_subject'),
                ('books', '0060_auto_20180920_1155'),
                ('books', '0061_book_chegg_link'),
                ('books', '0062_book_chegg_link_text'),
                ('books', '0063_auto_20190220_0836'),
                ('books', '0064_remove_book_subject'),
                ('books', '0065_book_book_cover_text_color'),
                ('books', '0066_auto_20190515_1206'),
                ('books', '0067_auto_20190710_1351'),
                ('books', '0068_auto_20190710_1356'),
                ('books', '0069_auto_20190710_1358'),
                ('books', '0070_auto_20190710_1424'),
                ('books', '0071_auto_20190710_1504'),
                ('books', '0072_book_webview_rex_link'),
                ('books', '0073_auto_20190730_1437'),
                ('books', '0073_auto_20190730_1153'),
                ('books', '0074_merge_20190805_1353'),
                ('books', '0075_book_study_edge_link'),
                ('books', '0076_auto_20190805_1642'),
                ('books', '0077_auto_20190806_1342'),
                ('books', '0078_auto_20190916_1211'),
                ('books', '0079_remove_book_table_of_contents'),
                ('books', '0079_auto_20191003_1236'),
                ('books', '0080_merge_20191003_1238'),
                ('books', '0081_book_table_of_contents'),
                ('books', '0082_book_videos'),
                ('books', '0083_auto_20191113_1616'),
                ('books', '0084_auto_20200210_1041'),
                ('books', '0084_auto_20200203_1638'),
                ('books', '0085_merge_20200210_1046'),
                ('books', '0086_auto_20200211_0906'),
                ('books', '0087_book_partner_page_link_text'),
                ('books', '0088_auto_20200309_1624'),
                ('books', '0089_auto_20200309_1627'),
                ('books', '0090_auto_20200310_1016'),
                ('books', '0092_auto_20200403_1514'),
                ('books', '0084_auto_20200213_1156'),
                ('books', '0087_merge_20200213_1202'),
                ('books', '0088_merge_20200311_0956'),
                ('books', '0091_merge_20200325_0813'),
                ('books', '0093_merge_20200403_1547'),
                ('books', '0094_auto_20200415_1139'),
                ('books', '0095_book_use_alt_errata_schedule'),
                ('books', '0096_auto_20200511_1312'),
                ('books', '0097_facultyresources_k12'),
                ('books', '0098_auto_20200710_0830'),
                ('books', '0099_auto_20200710_0936'),
                ('books', '0100_videofacultyresources')]

    dependencies = [
        ('wagtaildocs', '0010_document_file_hash'),
        ('wagtailcore', '0040_page_draft_title'),
        ('wagtailcore', '0023_alter_page_revision_on_delete_behaviour'),
        ('snippets', '0002_communityresource'),
        ('snippets', '0001_initial'),
        ('allies', '0001_initial'),
        ('wagtailimages', '0020_add-verbose-name'),
        ('wagtaildocs', '0007_merge'),
        ('snippets', '__first__'),
        ('wagtailimages', '0010_change_on_delete_behaviour'),
        ('snippets', '0010_communityresource_sharedcontent'),
        ('wagtaildocs', '0004_capitalizeverbose'),
    ]

    operations = [
        migrations.CreateModel(
            name='BookAlly',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('book_link_url',
                 models.URLField(blank=True, help_text='Call to Action Link')),
                ('book_link_text',
                 models.CharField(help_text='Call to Action Text',
                                  max_length=255)),
            ],
        ),
        migrations.CreateModel(
            name='BookIndex',
            fields=[
                ('page_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='wagtailcore.Page')),
                ('page_description', models.TextField()),
                ('dev_standards_heading',
                 models.CharField(blank=True, max_length=255, null=True)),
                ('dev_standard_1_heading',
                 models.CharField(blank=True, max_length=255, null=True)),
                ('dev_standard_1_description',
                 wagtail.core.fields.RichTextField()),
                ('dev_standard_2_heading',
                 models.CharField(blank=True, max_length=255, null=True)),
                ('dev_standard_2_description',
                 wagtail.core.fields.RichTextField()),
                ('dev_standard_3_heading',
                 models.CharField(blank=True, max_length=255, null=True)),
                ('dev_standard_3_description',
                 wagtail.core.fields.RichTextField()),
                ('subject_list_heading',
                 models.CharField(blank=True, max_length=255, null=True)),
                ('promote_image',
                 models.ForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='wagtailimages.Image')),
            ],
            options={
                'abstract': False,
            },
            bases=('wagtailcore.page', ),
        ),
        migrations.CreateModel(
            name='FacultyResources',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('link_external',
                 models.URLField(
                     blank=True,
                     help_text=
                     'Provide an external URL starting with http:// (or fill out either one of the following two).',
                     verbose_name='External link')),
                ('link_document',
                 models.ForeignKey(
                     blank=True,
                     help_text='Or select a document for viewers to download.',
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='wagtaildocs.Document')),
                ('link_page',
                 models.ForeignKey(
                     blank=True,
                     help_text='Or select an existing page to attach.',
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='wagtailcore.Page')),
                ('resource',
                 models.ForeignKey(
                     help_text='Manage resources through snippets.',
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='snippets.FacultyResource')),
                ('link_text',
                 models.CharField(default='',
                                  help_text='Call to Action Text',
                                  max_length=255)),
                ('coming_soon_text',
                 models.CharField(
                     blank=True,
                     help_text=
                     'If there is text in this field a coming soon banner will be added with this description.',
                     max_length=255,
                     null=True)),
                ('updated',
                 models.DateTimeField(
                     blank=True,
                     help_text='Late date resource was updated',
                     null=True)),
                ('featured',
                 models.BooleanField(
                     default=False,
                     help_text='Add to featured bar on resource page')),
                ('k12',
                 models.BooleanField(default=False,
                                     help_text='Add K12 banner to resource')),
                ('video_reference_number',
                 models.IntegerField(blank=True, null=True)),
            ],
        ),
        migrations.CreateModel(
            name='Quotes',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('quote_text', wagtail.core.fields.RichTextField()),
                ('quote_author', models.CharField(max_length=255)),
                ('quote_author_school', models.CharField(max_length=255)),
            ],
        ),
        migrations.CreateModel(
            name='Book',
            fields=[
                ('page_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='wagtailcore.Page')),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('cnx_id',
                 models.CharField(
                     blank=True,
                     help_text=
                     'This is used to pull relevant information from CNX.',
                     max_length=255,
                     null=True)),
                ('updated',
                 models.DateTimeField(
                     blank=True,
                     help_text='Late date web content was updated',
                     null=True)),
                ('description',
                 wagtail.core.fields.RichTextField(
                     blank=True,
                     help_text='Description shown on Book Detail page.')),
                ('publish_date',
                 models.DateField(help_text='Date the book is published on.',
                                  null=True)),
                ('print_isbn_10',
                 models.CharField(
                     blank=True,
                     help_text='ISBN 10 for print version (hardcover).',
                     max_length=255,
                     null=True)),
                ('print_isbn_13',
                 models.CharField(
                     blank=True,
                     help_text='ISBN 13 for print version (hardcover).',
                     max_length=255,
                     null=True)),
                ('license_name',
                 models.CharField(blank=True,
                                  editable=False,
                                  help_text='Name of the license.',
                                  max_length=255,
                                  null=True)),
                ('license_version',
                 models.CharField(blank=True,
                                  editable=False,
                                  help_text='Version of the license.',
                                  max_length=255,
                                  null=True)),
                ('license_url',
                 models.CharField(blank=True,
                                  editable=False,
                                  help_text='External URL of the license.',
                                  max_length=255,
                                  null=True)),
                ('cover',
                 models.ForeignKey(
                     help_text='The book cover to be shown on the website.',
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='wagtaildocs.Document')),
                ('is_ap',
                 models.BooleanField(
                     default=False,
                     help_text=
                     'Whether this book is an AP (Advanced Placement) book.')),
                ('high_resolution_pdf',
                 models.ForeignKey(
                     blank=True,
                     help_text='High quality PDF document of the book.',
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='wagtaildocs.Document')),
                ('ibook_link',
                 models.URLField(blank=True, help_text='Link to iBook')),
                ('low_resolution_pdf',
                 models.ForeignKey(
                     blank=True,
                     help_text='Low quality PDF document of the book.',
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='wagtaildocs.Document')),
                ('webview_link',
                 models.URLField(blank=True,
                                 help_text='Link to CNX Webview book')),
                ('amazon_link',
                 models.URLField(blank=True, help_text='Link to Amazon')),
                ('bookshare_link',
                 models.URLField(blank=True,
                                 help_text='Link to Bookshare resources')),
                ('license_text',
                 models.TextField(blank=True,
                                  help_text='Overrides default license text.',
                                  null=True)),
                ('ibook_link_volume_2',
                 models.URLField(blank=True,
                                 help_text='Link to secondary iBook')),
                ('community_resource_cta',
                 models.CharField(blank=True,
                                  help_text='Call the action text.',
                                  max_length=255,
                                  null=True)),
                ('community_resource_url',
                 models.URLField(blank=True,
                                 help_text='URL of the external source.')),
                ('authors',
                 wagtail.core.fields.StreamField([
                     ('author',
                      wagtail.core.blocks.StructBlock([
                          ('name',
                           wagtail.core.blocks.CharBlock(
                               help_text='Full name of the author.',
                               required=True)),
                          ('university',
                           wagtail.core.blocks.CharBlock(
                               help_text=
                               'Name of the university/institution the author is associated with.',
                               required=False)),
                          ('country',
                           wagtail.core.blocks.CharBlock(
                               help_text=
                               'Country of the university/institution.',
                               required=False)),
                          ('senior_author',
                           wagtail.core.blocks.BooleanBlock(
                               help_text=
                               'Whether the author is a senior author. (Senior authors are shown before non-senior authors.)',
                               required=False)),
                          ('display_at_top',
                           wagtail.core.blocks.BooleanBlock(
                               help_text='Whether display the author on top.',
                               required=False))
                      ]))
                 ],
                                                 null=True)),
                ('coming_soon', models.BooleanField(default=False)),
                ('salesforce_abbreviation',
                 models.CharField(blank=True, max_length=255, null=True)),
                ('salesforce_name',
                 models.CharField(blank=True, max_length=255, null=True)),
                ('amazon_coming_soon',
                 models.BooleanField(
                     default=False,
                     help_text=
                     'Whether this book is coming to Amazon bookstore.')),
                ('bookstore_coming_soon',
                 models.BooleanField(
                     default=False,
                     help_text='Whether this book is coming to bookstore soon.'
                 )),
                ('comp_copy_available',
                 models.BooleanField(
                     default=True,
                     help_text='Whether free compy available for teachers.')),
                ('tutor_marketing_book',
                 models.BooleanField(
                     default=False,
                     help_text='Whether this is a Tutor marketing book.')),
                ('digital_isbn_10',
                 models.CharField(blank=True,
                                  help_text='ISBN 10 for digital version.',
                                  max_length=255,
                                  null=True)),
                ('digital_isbn_13',
                 models.CharField(blank=True,
                                  help_text='ISBN 13 for digital version.',
                                  max_length=255,
                                  null=True)),
                ('ibook_isbn_10',
                 models.CharField(blank=True,
                                  help_text='ISBN 10 for iBook version.',
                                  max_length=255,
                                  null=True)),
                ('ibook_isbn_13',
                 models.CharField(blank=True,
                                  help_text='ISBN 13 for iBook version.',
                                  max_length=255,
                                  null=True)),
                ('ibook_volume_2_isbn_10',
                 models.CharField(blank=True,
                                  help_text='ISBN 10 for iBook v2 version.',
                                  max_length=255,
                                  null=True)),
                ('ibook_volume_2_isbn_13',
                 models.CharField(blank=True,
                                  help_text='ISBN 13 for iBook v2 version.',
                                  max_length=255,
                                  null=True)),
                ('kindle_link',
                 models.URLField(blank=True,
                                 help_text='Link to Kindle version')),
                ('community_resource_blurb',
                 models.TextField(blank=True, help_text='Blurb.')),
                ('community_resource_feature_text',
                 models.TextField(
                     blank=True,
                     help_text='Text of the community resource feature.')),
                ('cover_color',
                 models.CharField(choices=[('blue', 'Blue'),
                                           ('deep-green', 'Deep Green'),
                                           ('gold', 'Gold'), ('gray', 'Gray'),
                                           ('green', 'Green'),
                                           ('light-blue', 'Light Blue'),
                                           ('light-gray', 'Light Gray'),
                                           ('medium-blue', 'Medium Blue'),
                                           ('orange', 'Orange'),
                                           ('red', 'Red'),
                                           ('yellow', 'Yellow')],
                                  default='blue',
                                  help_text='The color of the cover.',
                                  max_length=255)),
                ('reverse_gradient', models.BooleanField(default=False)),
                ('title_image',
                 models.ForeignKey(
                     help_text=
                     'The svg for title image to be shown on the website.',
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='wagtaildocs.Document')),
                ('community_resource_feature_link',
                 models.ForeignKey(
                     blank=True,
                     help_text='Document of the community resource feature.',
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='wagtaildocs.Document')),
                ('ally_content',
                 wagtail.core.fields.StreamField(
                     [('content',
                       books.models.SharedContentChooserBlock(
                           snippets.models.SharedContent)),
                      ('link', wagtail.core.blocks.URLBlock(required=False)),
                      ('link_text',
                       wagtail.core.blocks.CharBlock(required=False))],
                     blank=True,
                     null=True)),
                ('bookstore_content',
                 wagtail.core.fields.StreamField(
                     [('content',
                       books.models.SharedContentChooserBlock(
                           snippets.models.SharedContent)),
                      ('link', wagtail.core.blocks.URLBlock(required=False)),
                      ('link_text',
                       wagtail.core.blocks.CharBlock(required=False))],
                     blank=True,
                     help_text='Bookstore content.',
                     null=True)),
                ('comp_copy_content',
                 wagtail.core.fields.StreamField(
                     [('content',
                       books.models.SharedContentChooserBlock(
                           snippets.models.SharedContent)),
                      ('link', wagtail.core.blocks.URLBlock(required=False)),
                      ('link_text',
                       wagtail.core.blocks.CharBlock(required=False))],
                     blank=True,
                     help_text='Content of the free copy.',
                     null=True)),
                ('errata_content',
                 wagtail.core.fields.StreamField(
                     [('content',
                       books.models.SharedContentChooserBlock(
                           snippets.models.SharedContent)),
                      ('link', wagtail.core.blocks.URLBlock(required=False)),
                      ('link_text',
                       wagtail.core.blocks.CharBlock(required=False))],
                     blank=True,
                     help_text='Errata content.',
                     null=True)),
                ('free_stuff_instructor',
                 wagtail.core.fields.StreamField(
                     [('content',
                       books.models.SharedContentChooserBlock(
                           snippets.models.SharedContent)),
                      ('link', wagtail.core.blocks.URLBlock(required=False)),
                      ('link_text',
                       wagtail.core.blocks.CharBlock(required=False))],
                     blank=True,
                     help_text=
                     'Snippet to show texts for free instructor resources.',
                     null=True)),
                ('free_stuff_student',
                 wagtail.core.fields.StreamField(
                     [('content',
                       books.models.SharedContentChooserBlock(
                           snippets.models.SharedContent)),
                      ('link', wagtail.core.blocks.URLBlock(required=False)),
                      ('link_text',
                       wagtail.core.blocks.CharBlock(required=False))],
                     blank=True,
                     help_text=
                     'Snipped to show texts for free student resources.',
                     null=True)),
                ('webinar_content',
                 wagtail.core.fields.StreamField(
                     [('content',
                       books.models.SharedContentChooserBlock(
                           snippets.models.SharedContent)),
                      ('link', wagtail.core.blocks.URLBlock(required=False)),
                      ('link_text',
                       wagtail.core.blocks.CharBlock(required=False))],
                     blank=True,
                     null=True)),
                ('community_resource_heading',
                 models.CharField(
                     blank=True,
                     help_text='Snipped to show texts for community resources.',
                     max_length=255,
                     null=True)),
                ('community_resource_logo',
                 models.ForeignKey(
                     blank=True,
                     help_text='Logo for community resources.',
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='wagtaildocs.Document')),
                ('book_state',
                 models.CharField(choices=[
                     ('live', 'Live'), ('coming_soon', 'Coming Soon'),
                     ('new_edition_available',
                      'New Edition Available (Show new edition correction schedule)'
                      ),
                     ('deprecated',
                      'Deprecated (Disallow errata submissions and show deprecated schedule)'
                      ), ('retired', 'Retired (Remove from website)')
                 ],
                                  default='live',
                                  help_text='The state of the book.',
                                  max_length=255)),
                ('promote_image',
                 models.ForeignKey(
                     blank=True,
                     help_text='Promote image.',
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='wagtailimages.Image')),
                ('chegg_link',
                 models.URLField(blank=True,
                                 help_text='Link to Chegg e-reader',
                                 null=True)),
                ('chegg_link_text',
                 models.CharField(blank=True,
                                  help_text='Text for Chegg link.',
                                  max_length=255,
                                  null=True)),
                ('book_cover_text_color',
                 models.CharField(
                     choices=[
                         ('yellow', 'Yellow'), ('light_blue', 'Light Blue'),
                         ('dark_blue', 'Dark Blue'), ('green', 'Green'),
                         ('white', 'White'), ('grey', 'Grey'), ('red', 'Red'),
                         ('white_red', 'White/Red'),
                         ('white_blue', 'White/Blue'),
                         ('green_white', 'Green/White'),
                         ('yellow_white', 'Yellow/White'),
                         ('grey_white', 'Grey/White'),
                         ('white_grey', 'White/Grey'),
                         ('white_orange', 'White/Orange')
                     ],
                     default='yellow',
                     help_text=
                     'Use by the Unified team - this will not change the text color on the book cover.',
                     max_length=255)),
                ('webview_rex_link',
                 models.URLField(blank=True,
                                 help_text='Link to REX Webview book')),
                ('print_softcover_isbn_10',
                 models.CharField(
                     blank=True,
                     help_text='ISBN 10 for print version (softcover).',
                     max_length=255,
                     null=True)),
                ('print_softcover_isbn_13',
                 models.CharField(
                     blank=True,
                     help_text='ISBN 13 for print version (softcover).',
                     max_length=255,
                     null=True)),
                ('last_updated_pdf',
                 models.DateTimeField(
                     blank=True,
                     help_text='Last time PDF was revised.',
                     null=True,
                     verbose_name='PDF Content Revision Date')),
                ('enable_study_edge',
                 models.BooleanField(
                     default=False,
                     help_text=
                     'This will cause the link to the Study Edge app appear on the book details page.'
                 )),
                ('rex_callout_blurb',
                 models.CharField(
                     blank=True,
                     help_text='Additional text for the REX callout.',
                     max_length=255,
                     null=True)),
                ('rex_callout_title',
                 models.CharField(blank=True,
                                  default='Recommended',
                                  help_text='Title of the REX callout',
                                  max_length=255,
                                  null=True)),
                ('table_of_contents',
                 django.contrib.postgres.fields.jsonb.JSONField(
                     blank=True, editable=False, help_text='TOC.', null=True)),
                ('videos',
                 wagtail.core.fields.StreamField(
                     [('video',
                       wagtail.core.blocks.ListBlock(
                           wagtail.core.blocks.StructBlock([
                               ('title', wagtail.core.blocks.CharBlock()),
                               ('description',
                                wagtail.core.blocks.RichTextBlock()),
                               ('embed', wagtail.core.blocks.RawHTMLBlock())
                           ])))],
                     blank=True,
                     null=True)),
                ('partner_list_label',
                 models.CharField(
                     blank=True,
                     help_text=
                     'Controls the heading text on the book detail page for partners. This will update ALL books to use this value!',
                     max_length=255,
                     null=True)),
                ('partner_page_link_text',
                 models.CharField(
                     blank=True,
                     help_text='Link to partners page on top right of list.',
                     max_length=255,
                     null=True)),
                ('featured_resources_header',
                 models.CharField(
                     blank=True,
                     help_text=
                     'Featured resource header on instructor resources tab.',
                     max_length=255,
                     null=True)),
            ],
            options={
                'abstract': False,
            },
            bases=('wagtailcore.page', ),
        ),
        migrations.CreateModel(
            name='Authors',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(help_text='Full name of the author.',
                                  max_length=255)),
                ('university',
                 models.CharField(
                     blank=True,
                     help_text=
                     'Name of the university/institution the author is associated with.',
                     max_length=255,
                     null=True)),
                ('country',
                 models.CharField(
                     blank=True,
                     help_text='Country of the university/institution.',
                     max_length=255,
                     null=True)),
                ('senior_author',
                 models.BooleanField(
                     default=False,
                     help_text=
                     'Whether the author is a senior author. (Senior authors are shown before non-senior authors.)'
                 )),
                ('display_at_top',
                 models.BooleanField(
                     default=False,
                     help_text='Whether display the author on top.')),
                ('book',
                 modelcluster.fields.ParentalKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     related_name='book_contributing_authors',
                     to='books.Book')),
            ],
        ),
        migrations.CreateModel(
            name='BookQuotes',
            fields=[
                ('sort_order',
                 models.IntegerField(blank=True, editable=False, null=True)),
            ],
            options={
                'ordering': ['sort_order'],
                'abstract': False,
            },
            bases=('books.quotes', models.Model),
        ),
        migrations.CreateModel(
            name='BookFacultyResources',
            fields=[
                ('facultyresources_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='books.FacultyResources')),
                ('sort_order',
                 models.IntegerField(blank=True, editable=False, null=True)),
                ('book_faculty_resource',
                 modelcluster.fields.ParentalKey(
                     on_delete=django.db.models.deletion.CASCADE,
                     related_name='book_faculty_resources',
                     to='books.Book')),
            ],
            options={
                'ordering': ['sort_order'],
                'abstract': False,
            },
            bases=('books.facultyresources', models.Model),
        ),
        migrations.CreateModel(
            name='BookAllies',
            fields=[
                ('bookally_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='books.BookAlly')),
                ('sort_order',
                 models.IntegerField(blank=True, editable=False, null=True)),
                ('book_ally',
                 modelcluster.fields.ParentalKey(
                     on_delete=django.db.models.deletion.CASCADE,
                     related_name='book_allies',
                     to='books.Book')),
            ],
            options={
                'ordering': ['sort_order'],
                'abstract': False,
            },
            bases=('books.bookally', models.Model),
        ),
        migrations.CreateModel(
            name='StudentResources',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('link_external',
                 models.URLField(
                     blank=True,
                     help_text=
                     'Provide an external URL starting with http:// (or fill out either one of the following two).',
                     verbose_name='External link')),
                ('link_text',
                 models.CharField(help_text='Call to Action Text',
                                  max_length=255)),
                ('link_document',
                 models.ForeignKey(
                     blank=True,
                     help_text='Or select a document for viewers to download.',
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='wagtaildocs.Document')),
                ('link_page',
                 models.ForeignKey(
                     blank=True,
                     help_text='Or select an existing page to attach.',
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='wagtailcore.Page')),
                ('resource',
                 models.ForeignKey(
                     help_text='Manage resources through snippets.',
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='snippets.StudentResource')),
                ('coming_soon_text',
                 models.CharField(
                     blank=True,
                     help_text=
                     'If there is text in this field a coming soon banner will be added with this description.',
                     max_length=255,
                     null=True)),
                ('updated',
                 models.DateTimeField(
                     blank=True,
                     help_text='Late date resource was updated',
                     null=True)),
            ],
        ),
        migrations.CreateModel(
            name='BookStudentResources',
            fields=[
                ('studentresources_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='books.StudentResources')),
                ('sort_order',
                 models.IntegerField(blank=True, editable=False, null=True)),
                ('book_student_resource',
                 modelcluster.fields.ParentalKey(
                     on_delete=django.db.models.deletion.CASCADE,
                     related_name='book_student_resources',
                     to='books.Book')),
            ],
            options={
                'abstract': False,
                'ordering': ['sort_order'],
            },
            bases=('books.studentresources', models.Model),
        ),
        migrations.CreateModel(
            name='BookSharedContent',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('link', models.URLField(blank=True, null=True)),
                ('link_text',
                 models.CharField(blank=True, max_length=255, null=True)),
            ],
        ),
        migrations.CreateModel(
            name='BookSharedContents',
            fields=[
                ('sort_order',
                 models.IntegerField(blank=True, editable=False, null=True)),
            ],
            options={
                'abstract': False,
                'ordering': ['sort_order'],
            },
            bases=('books.booksharedcontent', models.Model),
        ),
        migrations.DeleteModel(name='BookSharedContent', ),
        migrations.DeleteModel(name='BookSharedContents', ),
        migrations.DeleteModel(name='BookQuotes', ),
        migrations.DeleteModel(name='Quotes', ),
        migrations.CreateModel(
            name='SubjectBooks',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('subject',
                 models.ForeignKey(
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='subjects_subject',
                     to='snippets.Subject')),
            ],
        ),
        migrations.CreateModel(
            name='BookSubjects',
            fields=[
                ('subjectbooks_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='books.SubjectBooks')),
                ('sort_order',
                 models.IntegerField(blank=True, editable=False, null=True)),
                ('book_subject',
                 modelcluster.fields.ParentalKey(
                     on_delete=django.db.models.deletion.CASCADE,
                     related_name='book_subjects',
                     to='books.Book')),
            ],
            options={
                'abstract': False,
                'ordering': ['sort_order'],
            },
            bases=('books.subjectbooks', models.Model),
        ),
        migrations.DeleteModel(name='BookAllies', ),
        migrations.DeleteModel(name='BookAlly', ),
        migrations.CreateModel(
            name='VideoFacultyResource',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('resource_heading', models.CharField(max_length=255)),
                ('resource_description',
                 wagtail.core.fields.RichTextField(blank=True, null=True)),
                ('video_title',
                 models.CharField(blank=True, max_length=255, null=True)),
                ('video_url', models.URLField(blank=True, null=True)),
                ('video_file',
                 models.FileField(blank=True,
                                  null=True,
                                  upload_to='resource_videos')),
            ],
        ),
        migrations.CreateModel(
            name='VideoFacultyResources',
            fields=[
                ('videofacultyresource_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='books.VideoFacultyResource')),
                ('sort_order',
                 models.IntegerField(blank=True, editable=False, null=True)),
                ('book_video_faculty_resource',
                 modelcluster.fields.ParentalKey(
                     on_delete=django.db.models.deletion.CASCADE,
                     related_name='book_video_faculty_resources',
                     to='books.Book')),
            ],
            options={
                'ordering': ['sort_order'],
                'abstract': False,
            },
            bases=('books.videofacultyresource', models.Model),
        ),
    ]
Beispiel #14
0
class Migration(migrations.Migration):

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name='Book',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title', models.CharField(max_length=200)),
                ('slug', models.SlugField(unique=True)),
                ('autor', models.CharField(max_length=200)),
                ('description', models.TextField()),
                ('likes', models.PositiveIntegerField(default=0)),
                ('created_date',
                 models.DateTimeField(default=django.utils.timezone.now)),
                ('published_date', models.DateTimeField(blank=True,
                                                        null=True)),
                ('files',
                 models.FileField(
                     upload_to=books.models.upload_location,
                     validators=[books.models.validate_file_extension])),
            ],
        ),
        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='Created at')),
                ('updated_at',
                 models.DateTimeField(auto_now=True,
                                      verbose_name='Updated at')),
                ('title',
                 models.CharField(blank=True,
                                  max_length=200,
                                  null=True,
                                  verbose_name='Title')),
            ],
            options={
                'verbose_name': 'Category',
                'verbose_name_plural': 'Categories',
            },
        ),
        migrations.AddField(
            model_name='book',
            name='book_type',
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                to='books.Category',
                verbose_name='Category'),
        ),
    ]
Beispiel #15
0
class Migration(migrations.Migration):

    initial = True

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

    operations = [
        migrations.CreateModel(
            name='Book',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title', models.CharField(max_length=255)),
                ('author', models.CharField(max_length=255)),
                ('description', models.CharField(max_length=255)),
                ('genre', models.CharField(max_length=255)),
                ('year', models.IntegerField()),
                ('quantity', models.IntegerField()),
                ('price', models.FloatField()),
                ('image',
                 models.FileField(upload_to=books.models.book_img_path)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
                ('seller',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'ordering': ['-created_at'],
            },
        ),
        migrations.CreateModel(
            name='Profile',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('birthdate', models.DateField()),
                ('address', models.CharField(max_length=255)),
                ('balance', models.FloatField(default=0)),
                ('image',
                 models.ImageField(blank=True,
                                   upload_to=books.models.user_img_path)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
                ('email_confirmed', models.BooleanField(default=False)),
                ('user',
                 models.OneToOneField(
                     on_delete=django.db.models.deletion.CASCADE,
                     to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='BookSale',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('price_per_piece', models.FloatField()),
                ('quantity', models.IntegerField()),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
                ('book',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='books.book')),
                ('buyer',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'ordering': ['-created_at'],
            },
        ),
    ]
Beispiel #16
0
class Migration(migrations.Migration):

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name='Author',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('first_name',
                 models.CharField(blank=True, max_length=100, null=True)),
                ('last_name', models.CharField(max_length=100)),
                ('date_of_birth', models.DateField(blank=True, null=True)),
                ('date_of_death',
                 models.DateField(blank=True, null=True, verbose_name='Died')),
                ('slug', models.SlugField(blank=True, null=True)),
            ],
            options={
                'ordering': ['last_name', 'first_name'],
            },
        ),
        migrations.CreateModel(
            name='Book',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title', models.CharField(max_length=200)),
                ('summary',
                 ckeditor_uploader.fields.RichTextUploadingField(
                     blank=True,
                     help_text='Enter a brief description of the book',
                     null=True)),
                ('isbn',
                 models.CharField(
                     blank=True,
                     help_text=
                     '13 Character <a href="https://www.isbn-international.org/content/what-isbn">ISBN number</a>',
                     max_length=13,
                     null=True,
                     verbose_name='ISBN')),
                ('cover',
                 models.ImageField(default='covers/no_cover.jpg',
                                   upload_to='covers')),
                ('slug', models.SlugField(blank=True, max_length=70,
                                          null=True)),
                ('published_data', models.DateField(blank=True, null=True)),
                ('author',
                 models.ForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     to='books.Author')),
            ],
        ),
        migrations.CreateModel(
            name='BookFile',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('uploaded_at', models.DateTimeField(auto_now_add=True)),
                ('file',
                 models.FileField(blank=True,
                                  null=True,
                                  upload_to=books.models.get_path)),
                ('book',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='books.Book')),
            ],
        ),
    ]
Beispiel #17
0
class Migration(migrations.Migration):

    initial = True

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

    operations = [
        migrations.CreateModel(
            name='Author',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('first_name', models.CharField(max_length=100)),
                ('middle_name',
                 models.CharField(blank=True, max_length=100, null=True)),
                ('last_name',
                 models.CharField(blank=True, max_length=100, null=True)),
                ('country', models.CharField(max_length=100)),
                ('place_of_birth', models.CharField(max_length=300)),
                ('date_of_birth', models.DateField()),
                ('date_of_death', models.DateField(null=True)),
                ('description', models.TextField()),
            ],
        ),
        migrations.CreateModel(
            name='Book',
            fields=[
                ('isbn',
                 models.CharField(max_length=20,
                                  primary_key=True,
                                  serialize=False,
                                  unique=True,
                                  validators=[books.validators.validate_isbn
                                              ])),
                ('description', models.TextField()),
                ('title', models.CharField(max_length=300)),
                ('pages', models.IntegerField(blank=True, null=True)),
                ('publish_date', models.DateField(blank=True, null=True)),
                ('language',
                 models.CharField(blank=True, max_length=100, null=True)),
                ('hidden', models.BooleanField(default=False)),
                ('picture',
                 models.ImageField(blank=True,
                                   null=True,
                                   upload_to=books.models.book_picture_path,
                                   verbose_name='Book picture')),
                ('copies_num', models.IntegerField()),
                ('authors',
                 models.ManyToManyField(related_name='books',
                                        to='books.Author')),
            ],
        ),
        migrations.CreateModel(
            name='BookComment',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('body', models.TextField()),
                ('timestamp', models.DateTimeField(auto_now_add=True)),
                ('blocked', models.BooleanField(default=False)),
                ('blocked_reason', models.CharField(max_length=200,
                                                    null=True)),
                ('book',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='comments',
                                   to='books.Book')),
                ('user',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='comments',
                                   to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='BookFile',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=50)),
                ('description', models.CharField(max_length=100)),
                ('timestamp', models.DateTimeField(auto_now_add=True)),
                ('file',
                 models.FileField(upload_to=books.models.book_files_path)),
                ('book',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='files',
                                   to='books.Book')),
            ],
        ),
        migrations.CreateModel(
            name='BookTag',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('book',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='books.Book')),
            ],
        ),
        migrations.CreateModel(
            name='Genre',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=200)),
            ],
        ),
        migrations.CreateModel(
            name='Publisher',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=300)),
                ('country', models.CharField(max_length=100)),
            ],
        ),
        migrations.CreateModel(
            name='ReadersListRecord',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('date_taken', models.DateTimeField(auto_now_add=True)),
                ('date_returned', models.DateTimeField(blank=True)),
                ('book',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='books.Book')),
                ('user',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_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=300)),
            ],
        ),
        migrations.CreateModel(
            name='Vote',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('action', models.SmallIntegerField(default=1)),
                ('book',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='books.Book')),
                ('user',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.AddField(
            model_name='booktag',
            name='tag',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE, to='books.Tag'),
        ),
        migrations.AddField(
            model_name='booktag',
            name='user',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                to=settings.AUTH_USER_MODEL),
        ),
        migrations.AddField(
            model_name='book',
            name='genre',
            field=models.ForeignKey(
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                to='books.Genre'),
        ),
        migrations.AddField(
            model_name='book',
            name='publisher',
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                to='books.Publisher'),
        ),
        migrations.AddField(
            model_name='book',
            name='tags',
            field=models.ManyToManyField(blank=True,
                                         related_name='books',
                                         to='books.Tag'),
        ),
        migrations.AddField(
            model_name='author',
            name='genre',
            field=models.ForeignKey(
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                to='books.Genre'),
        ),
    ]
Beispiel #18
0
class Migration(migrations.Migration):

    initial = True

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

    operations = [
        migrations.CreateModel(
            name='Author',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('author_name', models.CharField(max_length=255)),
            ],
        ),
        migrations.CreateModel(
            name='Book',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('isbn', models.CharField(max_length=120)),
                ('title', models.CharField(max_length=120)),
                ('description', models.TextField()),
                ('length',
                 models.DurationField(default=datetime.timedelta(0, 1200))),
                ('release_date', models.DateTimeField()),
                ('image', models.FileField(blank=True,
                                           null=True,
                                           upload_to=b'')),
                ('audio_link',
                 models.FileField(
                     upload_to=books.models.get_upload_file_name)),
                ('is_banner',
                 models.CharField(choices=[('On', 'on'), ('Off', 'off')],
                                  max_length=10)),
                ('is_featured',
                 models.CharField(choices=[('On', 'on'), ('Off', 'off')],
                                  max_length=10)),
                ('updated', models.DateTimeField(auto_now=True)),
                ('timestamp', models.DateTimeField(auto_now_add=True)),
                ('author_id', models.ManyToManyField(to='books.Author')),
            ],
        ),
        migrations.CreateModel(
            name='Category',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('category_name', models.CharField(max_length=50)),
                ('parent',
                 models.ForeignKey(blank=True,
                                   null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   related_name='child',
                                   to='books.Category')),
            ],
            options={
                'verbose_name': 'category',
                'verbose_name_plural': 'categories',
            },
        ),
        migrations.CreateModel(
            name='Currency',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('currency_name', models.CharField(max_length=255)),
                ('currency_symbol', models.CharField(max_length=10)),
            ],
        ),
        migrations.CreateModel(
            name='Group',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('group_name', models.CharField(max_length=120)),
            ],
        ),
        migrations.CreateModel(
            name='Language',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('language_name', models.CharField(max_length=255)),
            ],
        ),
        migrations.CreateModel(
            name='Narrator',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('narrator_name', models.CharField(max_length=255)),
            ],
        ),
        migrations.CreateModel(
            name='Price',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('price_tag',
                 models.DecimalField(decimal_places=2,
                                     default=Decimal('0.00'),
                                     max_digits=6)),
                ('book',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='books.Book')),
                ('currency',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='price_currency',
                                   to='books.Currency')),
                ('language',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='books.Language')),
            ],
        ),
        migrations.CreateModel(
            name='ProgramFormat',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('program_name', models.CharField(max_length=255)),
            ],
        ),
        migrations.CreateModel(
            name='Publisher',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('publisher_name', models.CharField(max_length=255)),
            ],
        ),
        migrations.CreateModel(
            name='Rating',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('rating', models.IntegerField(default=0)),
                ('book',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='books.Book')),
                ('user_id',
                 models.OneToOneField(
                     on_delete=django.db.models.deletion.CASCADE,
                     to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='UserProfile',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('group',
                 models.ForeignKey(null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to='books.Group')),
                ('user',
                 models.OneToOneField(
                     on_delete=django.db.models.deletion.CASCADE,
                     to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.AddField(
            model_name='book',
            name='category_id',
            field=models.ForeignKey(
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                to='books.Category'),
        ),
        migrations.AddField(
            model_name='book',
            name='narrator_id',
            field=models.ManyToManyField(to='books.Narrator'),
        ),
        migrations.AddField(
            model_name='book',
            name='program_format',
            field=models.ForeignKey(
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                to='books.ProgramFormat'),
        ),
        migrations.AddField(
            model_name='book',
            name='publisher',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                to='books.Publisher'),
        ),
    ]