text: # -*- coding: utf-8 -*-
  # Generated by Django 1.9.7 on 2016-06-15 06:35
  from __future__ import unicode_literals
  
  from django.conf import settings
  from django.db import migrations, models
  import django.db.models.deletion
  
  
  class Migration(migrations.Migration):
  
      initial = True
  
      dependencies = [
          migrations.swappable_dependency(settings.AUTH_USER_MODEL),
          ('contenttypes', '0002_remove_content_type_name'),
      ]
  
      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=255)),
                  ('last_name', models.CharField(max_length=255)),
                  ('other_names', models.CharField(max_length=255)),
              ],
          ),
          migrations.CreateModel(
              name='Book',
              fields=[
                  ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                  ('created_at', models.DateTimeField(auto_now_add=True)),
                  ('title', models.CharField(max_length=255)),
                  ('published_at', models.DateTimeField()),
                  ('edition', models.CharField(max_length=255)),
                  ('isbn', models.CharField(max_length=255, verbose_name='ISBN')),
                  ('bar_code', models.CharField(max_length=255)),
                  ('audience', models.CharField(max_length=255)),
                  ('cover_image', models.ImageField(upload_to='covers')),
                  ('page_count', models.IntegerField()),
                  ('content_page_count', models.IntegerField()),
                  ('chapters', models.IntegerField()),
                  ('views', models.IntegerField()),
                  ('searches', models.IntegerField()),
                  ('rating', models.FloatField()),
                  ('slug', models.SlugField(unique=True)),
              ],
          ),
          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)),
                  ('category', models.CharField(max_length=255)),
              ],
          ),
          migrations.CreateModel(
              name='Contributor',
              fields=[
                  ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                  ('first_name', models.CharField(max_length=255)),
                  ('last_name', models.CharField(max_length=255)),
                  ('other_names', models.CharField(max_length=255)),
                  ('contribution', models.CharField(max_length=255)),
                  ('object_id', models.PositiveIntegerField()),
                  ('content_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='contenttypes.ContentType')),
              ],
          ),
          migrations.CreateModel(
              name='Format',
              fields=[
                  ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                  ('created_at', models.DateTimeField(auto_now_add=True)),
                  ('format', models.CharField(max_length=255)),
              ],
          ),
          migrations.CreateModel(
              name='Language',
              fields=[
                  ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                  ('created_at', models.DateTimeField(auto_now_add=True)),
                  ('language', models.CharField(max_length=255)),
              ],
          ),
          migrations.CreateModel(
              name='Publisher',
              fields=[
                  ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                  ('created_at', models.DateTimeField(auto_now_add=True)),
                  ('name', models.CharField(max_length=255)),
                  ('other_names', models.CharField(max_length=255)),
                  ('address', models.CharField(max_length=255)),
              ],
          ),
          migrations.CreateModel(
              name='Review',
              fields=[
                  ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                  ('created_at', models.DateTimeField(auto_now_add=True)),
                  ('body', models.TextField(help_text='Review Text')),
                  ('rating', models.FloatField(help_text='Rating')),
                  ('object_id', models.PositiveIntegerField()),
                  ('author', models.ForeignKey(help_text='Author', on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
                  ('content_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='contenttypes.ContentType')),
              ],
          ),
          migrations.CreateModel(
              name='Source',
              fields=[
                  ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                  ('created_at', models.DateTimeField(auto_now_add=True)),
                  ('source', models.CharField(max_length=255)),
              ],
          ),
          migrations.CreateModel(
              name='Tag',
              fields=[
                  ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                  ('created_at', models.DateTimeField(auto_now_add=True)),
                  ('object_id', models.PositiveIntegerField()),
                  ('tag', models.CharField(max_length=255)),
                  ('content_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='contenttypes.ContentType')),
              ],
          ),
          migrations.AddField(
              model_name='book',
              name='available_at',
              field=models.ManyToManyField(to='books.Source'),
          ),
          migrations.AddField(
              model_name='book',
              name='categories',
              field=models.ManyToManyField(related_name='books', to='books.Category'),
          ),
          migrations.AddField(
              model_name='book',
              name='formats',
              field=models.ManyToManyField(related_name='books', to='books.Format'),
          ),
          migrations.AddField(
              model_name='book',
              name='language',
              field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='books', to='books.Language'),
          ),
          migrations.AddField(
              model_name='book',
              name='parent',
              field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='books.Book'),
          ),
          migrations.AddField(
              model_name='book',
              name='publisher',
              field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='books', to='books.Publisher'),
          ),
      ]
  