LIL-126 Add Material model

remotes/origin/hasaccess
Ivlev Denis 8 years ago
parent 4921c3fb0a
commit e045e50e57
  1. 9
      apps/course/admin.py
  2. 39
      apps/course/migrations/0009_auto_20180129_1458.py
  3. 20
      apps/course/models.py

@ -1,6 +1,6 @@
from django.contrib import admin
from .models import Course, Category, Lesson
from .models import Course, Category, Lesson, Material
@admin.register(Course)
@ -28,3 +28,10 @@ class LessonAdmin(admin.ModelAdmin):
'title',
'course',
)
@admin.register(Material)
class MaterialAdmin(admin.ModelAdmin):
list_display = (
'title',
)

@ -0,0 +1,39 @@
# Generated by Django 2.0.1 on 2018-01-29 14:58
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('course', '0008_auto_20180129_1436'),
]
operations = [
migrations.CreateModel(
name='Material',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('title', models.CharField(max_length=100, verbose_name='Название материала')),
('cover', models.ImageField(upload_to='lessons', verbose_name='Фон материала')),
('short_description', models.TextField(verbose_name='Краткое описание материала')),
('created_at', models.DateTimeField(auto_now_add=True)),
('update_at', models.DateTimeField(auto_now=True)),
],
options={
'verbose_name': 'Материал',
'verbose_name_plural': 'Материалы',
'ordering': ('title',),
},
),
migrations.AlterField(
model_name='lesson',
name='short_description',
field=models.TextField(verbose_name='Краткое описание урока'),
),
migrations.AddField(
model_name='course',
name='materials',
field=models.ManyToManyField(to='course.Material'),
),
]

@ -35,6 +35,7 @@ class Course(models.Model):
url = models.URLField('Ссылка', default='')
status = models.PositiveSmallIntegerField('Статус', default=0, choices=STATUS_CHOICES)
likes = models.ManyToManyField(Like)
materials = models.ManyToManyField('Material')
created_at = models.DateTimeField(auto_now_add=True)
update_at = models.DateTimeField(auto_now=True)
@ -84,7 +85,7 @@ class Category(models.Model):
class Lesson(models.Model):
title = models.CharField('Название урока', max_length=100)
short_description = models.TextField('Краткое описание курса')
short_description = models.TextField('Краткое описание урока')
course = models.ForeignKey(Course, on_delete=models.CASCADE, related_name='lessons')
cover = models.ImageField('Фон урока', upload_to='lessons')
@ -98,3 +99,20 @@ class Lesson(models.Model):
verbose_name = 'Урок'
verbose_name_plural = 'Уроки'
ordering = ('title',)
class Material(models.Model):
title = models.CharField('Название материала', max_length=100)
cover = models.ImageField('Фон материала', upload_to='lessons')
short_description = models.TextField('Краткое описание материала')
created_at = models.DateTimeField(auto_now_add=True)
update_at = models.DateTimeField(auto_now=True)
def __str__(self):
return self.title
class Meta:
verbose_name = 'Материал'
verbose_name_plural = 'Материалы'
ordering = ('title',)

Loading…
Cancel
Save