class Migration(migrations.Migration): initial = True dependencies = [] operations = [ migrations.CreateModel( name='Subject', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=50)), ('description', models.CharField(max_length=500)), ('pub_date', models.DateTimeField(auto_now=True)), ('slug', models.SlugField(max_length=200, unique=True)), ], options={ 'verbose_name': 'Subject', 'ordering': ('title', ), }, ), migrations.CreateModel( name='Course', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=50)), ('image', models.ImageField( blank=True, upload_to=courses.models.upload_image_path)), ('description', models.CharField(max_length=500)), ('pub_date', models.DateTimeField(auto_now=True)), ('slug', models.SlugField(max_length=200, unique=True)), ('subject', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='products', to='courses.Subject')), ], options={ 'ordering': ('title', ), 'index_together': {('id', 'slug')}, }, ), ]
class Migration(migrations.Migration): dependencies = [ ('courses', '0013_auto_20200910_0800'), ] operations = [ migrations.CreateModel( name='LectureSession', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('session_name', models.CharField(max_length=200, validators=[courses.models.name_validator])), ('session_description', models.CharField(max_length=2000)), ('session_content', models.CharField(max_length=20000)), ('url_name', models.SlugField(editable=False, max_length=200, unique=True)), ('session_duration', models.DurationField()), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.course')), ], options={ 'abstract': False, }, ), ]
class Migration(migrations.Migration): dependencies = [ ('courses', '0008_auto_20200909_0905'), ] operations = [ migrations.AlterField( model_name='course', name='course_name', field=models.CharField(max_length=200, validators=[courses.models.name_validator]), ), migrations.AlterField( model_name='course', name='url_name', field=models.SlugField(editable=False, max_length=200, unique=True), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ('categories', '0001_initial'), ('videos', '0001_initial'), ] operations = [ migrations.CreateModel( name='Course', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=150)), ('slug', models.SlugField(blank=True)), ('image', models.ImageField(blank=True, null=True, upload_to=courses.models.course_directory_path)), ('order', courses.fields.PositionField(default=-1)), ('description', models.TextField()), ('price', models.DecimalField(blank=True, decimal_places=2, help_text='Si existe un descuento especial agrega una cantidad al precio neto, de lo contrario deja este campo vacío y utiliza solo el precio de lista.', max_digits=6, null=True, verbose_name='Precio Neto')), ('list_price', models.DecimalField(blank=True, decimal_places=2, max_digits=6, null=True, verbose_name='Precio de lista o precio regular')), ('active', models.BooleanField(default=True)), ('updated', models.DateTimeField(auto_now=True)), ('timestamp', models.DateTimeField(auto_now_add=True)), ('category', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='primary_category', to='categories.Category')), ('secondary', models.ManyToManyField(blank=True, related_name='secondary_category', to='categories.Category')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='Lecture', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=120)), ('order', courses.fields.PositionField(default=-1)), ('slug', models.SlugField(blank=True)), ('free', models.BooleanField(default=False)), ('description', models.TextField(blank=True)), ('updated', models.DateTimeField(auto_now=True)), ('timestamp', models.DateTimeField(auto_now_add=True)), ('course', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='courses.Course')), ('video', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='videos.Video')), ], options={ 'ordering': ['order', 'title'], }, ), migrations.CreateModel( name='MyCourses', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('updated', models.DateTimeField(auto_now=True)), ('timestamp', models.DateTimeField(auto_now_add=True)), ('courses', models.ManyToManyField(blank=True, related_name='owned', to='courses.Course')), ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': 'My courses', 'verbose_name_plural': 'My courses', }, ), migrations.AlterUniqueTogether( name='lecture', unique_together=set([('slug', 'course')]), ), ]
class Migration(migrations.Migration): initial = True dependencies = [] operations = [ migrations.CreateModel( name='Course', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100, verbose_name='название')), ('slug', models.SlugField(unique=True, verbose_name='ссылка')), ('description', models.TextField(verbose_name='описание')), ], options={ 'verbose_name': 'Курс', 'verbose_name_plural': 'Курсы', 'ordering': ['-id'], }, ), migrations.CreateModel( name='Lesson', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100, verbose_name='название')), ('slug', models.SlugField(verbose_name='ссылка')), ('video', coursify.fields.VideoField( blank=True, upload_to=courses.models.lesson_video_upload_to, verbose_name='видео')), ('content', models.TextField(blank=True, verbose_name='контент')), ('order', models.PositiveIntegerField(default=0, verbose_name='порядок')), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='lessons', to='courses.Course', verbose_name='курс')), ], options={ 'verbose_name': 'Урок', 'verbose_name_plural': 'Уроки', 'ordering': ['order'], 'unique_together': {('course', 'slug')}, }, ), ]
class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='Answer', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('text', models.CharField(max_length=100, null=True)), ('correct', models.BooleanField(default=False)), ], ), migrations.CreateModel( name='Course', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100)), ('category', models.CharField(choices=[('other', 'inna'), ('infa', 'informatyka'), ('matma', 'matematyka'), ('fizyka', 'fizyka'), ('biologia', 'biologia'), ('chemia', 'chemia')], default='other', max_length=100)), ('desc', models.CharField(max_length=1000)), ('slug', models.SlugField(allow_unicode=True, blank=True, null=True, unique=True)), ('node_count', models.PositiveIntegerField(default=0)), ('author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='author_courses', to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='Node', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100)), ('desc', models.CharField(max_length=200)), ('content', models.CharField(default='', max_length=2000)), ('slug', models.SlugField(allow_unicode=True, blank=True, null=True)), ('node_type', models.CharField(choices=[('lesson', 'Lekcja'), ('test', 'Test')], default='lesson', max_length=20)), ('node_number', models.PositiveIntegerField(default=0)), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.course')), ], ), migrations.CreateModel( name='Question', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('text', models.CharField(max_length=200, null=True)), ('answers', models.ManyToManyField(to='courses.Answer')), ('node', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.node')), ], ), migrations.CreateModel( name='LessonFile', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('lesson_type', multiselectfield.db.fields.MultiSelectField(choices=[ ('0', 'Wzrokowiec'), ('1', 'Kinestetyk'), ('2', 'Słuchowiec') ], default='0', max_length=5)), ('lesson_file', models.FileField(upload_to=courses.models.get_upload_path)), ('node', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.node')), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='Course', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=300, verbose_name='Title')), ('slug', models.SlugField()), ('places', models.IntegerField(verbose_name='Places to course')), ('description', models.TextField(verbose_name='About the course')), ('price', models.IntegerField(verbose_name='Price')), ('is_active', models.BooleanField(verbose_name='Is course active?')), ('date_added', models.DateTimeField(auto_now_add=True, verbose_name='Date added')), ], options={ 'ordering': ['-date_added'], 'verbose_name_plural': 'Courses', 'verbose_name': 'Course', }, ), migrations.CreateModel( name='CourseReview', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('first_name', models.CharField(max_length=50, verbose_name='First name')), ('last_name', models.CharField(max_length=60, verbose_name='Last name')), ('avatar', models.FileField(blank=True, null=True, upload_to=courses.models.upload_path, verbose_name='Avatar')), ('link_to_fb', models.CharField(blank=True, max_length=200, null=True, verbose_name='Link to Facebook')), ('link_to_inst', models.CharField(blank=True, max_length=200, null=True, verbose_name='Link to Instagram')), ('link_to_linkedin', models.CharField(blank=True, max_length=200, null=True, verbose_name='Link to LinkedIn')), ('review', models.TextField(verbose_name='Review')), ('video', models.FileField(blank=True, null=True, upload_to=courses.models.upload_path, verbose_name='Video review')), ('date_added', models.DateTimeField(auto_now_add=True, verbose_name='Date added')), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Course', verbose_name='Course')), ], options={ 'ordering': ['-date_added'], 'verbose_name_plural': 'Courses reviews', 'verbose_name': 'Course review', }, ), migrations.CreateModel( name='CourseTypes', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('permission', models.CharField(choices=[('F_S', 'Fast start'), ('A_I', 'All-inclusive'), ('P', 'Premium')], default='F_S', max_length=50, verbose_name='Permission')), ('title', models.CharField(max_length=60, verbose_name='Title')), ('is_active', models.BooleanField(verbose_name='Is course type active?')), ('description', models.TextField(verbose_name='Description')), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Course', verbose_name='Course')), ], options={ 'verbose_name_plural': 'Course types', 'verbose_name': 'Course type', }, ), migrations.CreateModel( name='Discount', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=100, verbose_name='Title')), ('slug', models.SlugField()), ('percents', models.IntegerField(verbose_name='Percents')), ('from_date', models.DateField(verbose_name='From')), ('till_date', models.DateField(verbose_name='Till')), ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Created at')), ('author', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, verbose_name='Author')), ], options={ 'verbose_name_plural': 'Discounts', 'verbose_name': 'Discount', }, ), migrations.CreateModel( name='Student', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('first_name', models.CharField(max_length=50, verbose_name='First name')), ('last_name', models.CharField(max_length=60, verbose_name='Last name')), ('email', models.EmailField(max_length=100, unique=True, verbose_name='Email')), ('phone', models.CharField(max_length=20, unique=True, verbose_name='Phone')), ('skype', models.CharField(blank=True, max_length=40, null=True, unique=True, verbose_name='Skype')), ('date_added', models.DateTimeField(auto_now_add=True, verbose_name='Date added')), ('courses', models.ManyToManyField(to='courses.Course', verbose_name='Courses')), ], options={ 'ordering': ['-date_added'], 'verbose_name_plural': 'Students', 'verbose_name': 'Student', }, ), migrations.CreateModel( name='Teacher', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('first_name', models.CharField(max_length=50, verbose_name='First name')), ('last_name', models.CharField(max_length=60, verbose_name='Last name')), ('email', models.EmailField(max_length=100, verbose_name='Email')), ('avatar', models.FileField(blank=True, null=True, upload_to=courses.models.upload_path, verbose_name='Avatar')), ('age', models.DateField(verbose_name='Age')), ('description', models.TextField(blank=True, null=True, verbose_name='About teacher')), ], options={ 'verbose_name_plural': 'Teachers', 'verbose_name': 'Teacher', }, ), migrations.AddField( model_name='course', name='discount', field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='courses.Discount', verbose_name='Discount'), ), migrations.AddField( model_name='course', name='teachers', field=models.ManyToManyField(to='courses.Teacher', verbose_name='Teachers'), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ('contenttypes', '0002_remove_content_type_name'), ] operations = [ migrations.CreateModel( name='Content', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('object_id', models.PositiveIntegerField()), ('order', courses.fields.OrderField(blank=True)), ('content_type', models.ForeignKey(limit_choices_to={'model__in': ('text', 'video', 'image', 'file')}, on_delete=django.db.models.deletion.CASCADE, to='contenttypes.ContentType')), ], options={ 'ordering': ['order'], }, ), migrations.CreateModel( name='Course', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=200)), ('slug', models.SlugField(max_length=200, unique=True)), ('image', models.ImageField(blank=True, null=True, upload_to=courses.models.upload_location)), ('overview', models.TextField()), ('created', models.DateTimeField(auto_now_add=True)), ('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='courses_created', to=settings.AUTH_USER_MODEL)), ('students', models.ManyToManyField(blank=True, related_name='courses_joined', to=settings.AUTH_USER_MODEL)), ], options={ 'ordering': ('-created',), }, ), migrations.CreateModel( name='File', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=250)), ('created', models.DateTimeField(auto_now_add=True)), ('updated', models.DateTimeField(auto_now=True)), ('file', models.FileField(upload_to='files')), ('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='file_related', to=settings.AUTH_USER_MODEL)), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='Image', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=250)), ('created', models.DateTimeField(auto_now_add=True)), ('updated', models.DateTimeField(auto_now=True)), ('file', models.FileField(upload_to='images')), ('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='image_related', to=settings.AUTH_USER_MODEL)), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='Module', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=200)), ('description', models.TextField(blank=True)), ('order', courses.fields.OrderField(blank=True)), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='modules', to='courses.Course')), ], options={ 'ordering': ['order'], }, ), migrations.CreateModel( name='Subject', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=200)), ('slug', models.SlugField(max_length=200, unique=True)), ], options={ 'ordering': ('title',), }, ), migrations.CreateModel( name='Subscription', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('your_email', models.EmailField(blank=True, max_length=254)), ], ), migrations.CreateModel( name='Text', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=250)), ('created', models.DateTimeField(auto_now_add=True)), ('updated', models.DateTimeField(auto_now=True)), ('content', models.TextField()), ('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='text_related', to=settings.AUTH_USER_MODEL)), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='Video', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=250)), ('created', models.DateTimeField(auto_now_add=True)), ('updated', models.DateTimeField(auto_now=True)), ('url', models.URLField()), ('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='video_related', to=settings.AUTH_USER_MODEL)), ], options={ 'abstract': False, }, ), migrations.AddField( model_name='course', name='subject', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='courses', to='courses.Subject'), ), migrations.AddField( model_name='content', name='module', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='contents', to='courses.Module'), ), ]