Commit 9694bb41759e19c103a91dbb19ed8eefa2699e32
1 parent
539ad5c5
Exists in
master
and in
5 other branches
Refatoração dos modelos de cursos e categorias
Showing
3 changed files
with
102 additions
and
11 deletions
Show diff stats
... | ... | @@ -0,0 +1,42 @@ |
1 | +# -*- coding: utf-8 -*- | |
2 | +# Generated by Django 1.10 on 2016-09-15 00:19 | |
3 | +from __future__ import unicode_literals | |
4 | + | |
5 | +import autoslug.fields | |
6 | +from django.conf import settings | |
7 | +from django.db import migrations, models | |
8 | + | |
9 | + | |
10 | +class Migration(migrations.Migration): | |
11 | + | |
12 | + dependencies = [ | |
13 | + migrations.swappable_dependency(settings.AUTH_USER_MODEL), | |
14 | + ('courses', '0009_auto_20160908_1625'), | |
15 | + ] | |
16 | + | |
17 | + operations = [ | |
18 | + migrations.RemoveField( | |
19 | + model_name='course', | |
20 | + name='user', | |
21 | + ), | |
22 | + migrations.AddField( | |
23 | + model_name='course', | |
24 | + name='professors', | |
25 | + field=models.ManyToManyField(related_name='courses', to=settings.AUTH_USER_MODEL, verbose_name='Professors'), | |
26 | + ), | |
27 | + migrations.AlterField( | |
28 | + model_name='category', | |
29 | + name='slug', | |
30 | + field=autoslug.fields.AutoSlugField(editable=False, populate_from='name', unique=True, verbose_name='Slug'), | |
31 | + ), | |
32 | + migrations.AlterField( | |
33 | + model_name='course', | |
34 | + name='name', | |
35 | + field=models.CharField(max_length=100, verbose_name='Name'), | |
36 | + ), | |
37 | + migrations.AlterField( | |
38 | + model_name='course', | |
39 | + name='slug', | |
40 | + field=autoslug.fields.AutoSlugField(editable=False, populate_from='name', unique=True, verbose_name='Slug'), | |
41 | + ), | |
42 | + ] | ... | ... |
... | ... | @@ -0,0 +1,49 @@ |
1 | +# -*- coding: utf-8 -*- | |
2 | +# Generated by Django 1.10 on 2016-09-15 00:26 | |
3 | +from __future__ import unicode_literals | |
4 | + | |
5 | +from django.conf import settings | |
6 | +from django.db import migrations, models | |
7 | +import django.db.models.deletion | |
8 | + | |
9 | + | |
10 | +class Migration(migrations.Migration): | |
11 | + | |
12 | + dependencies = [ | |
13 | + ('courses', '0010_auto_20160914_2119'), | |
14 | + ] | |
15 | + | |
16 | + operations = [ | |
17 | + migrations.AlterModelOptions( | |
18 | + name='course', | |
19 | + options={'ordering': ('create_date', 'name'), 'verbose_name': 'Course', 'verbose_name_plural': 'Courses'}, | |
20 | + ), | |
21 | + migrations.AlterModelOptions( | |
22 | + name='subject', | |
23 | + options={'ordering': ('create_date', 'name'), 'verbose_name': 'Subject', 'verbose_name_plural': 'Subjects'}, | |
24 | + ), | |
25 | + migrations.AlterModelOptions( | |
26 | + name='topic', | |
27 | + options={'ordering': ('create_date', 'name'), 'verbose_name': 'Topic', 'verbose_name_plural': 'Topics'}, | |
28 | + ), | |
29 | + migrations.AlterField( | |
30 | + model_name='course', | |
31 | + name='category', | |
32 | + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Category', verbose_name='Category'), | |
33 | + ), | |
34 | + migrations.AlterField( | |
35 | + model_name='course', | |
36 | + name='image', | |
37 | + field=models.ImageField(blank=True, upload_to='courses/', verbose_name='Image'), | |
38 | + ), | |
39 | + migrations.AlterField( | |
40 | + model_name='subject', | |
41 | + name='visible', | |
42 | + field=models.BooleanField(default=False, verbose_name='Visible'), | |
43 | + ), | |
44 | + migrations.AlterField( | |
45 | + model_name='topic', | |
46 | + name='owner', | |
47 | + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='topics', to=settings.AUTH_USER_MODEL, verbose_name='Owner'), | |
48 | + ), | |
49 | + ] | ... | ... |
courses/models.py
... | ... | @@ -6,7 +6,7 @@ from users.models import User |
6 | 6 | class Category(models.Model): |
7 | 7 | |
8 | 8 | name = models.CharField(_('Name'), max_length = 100, unique = True) |
9 | - slug = models.SlugField(_('Slug'), max_length = 100) | |
9 | + slug = AutoSlugField(_("Slug"),populate_from='name',unique=True) | |
10 | 10 | create_date = models.DateField(_('Creation Date'), auto_now_add = True) |
11 | 11 | |
12 | 12 | class Meta: |
... | ... | @@ -18,8 +18,8 @@ class Category(models.Model): |
18 | 18 | |
19 | 19 | class Course(models.Model): |
20 | 20 | |
21 | - name = models.CharField(_('Name'), max_length = 100, unique = True) | |
22 | - slug = models.SlugField(_('Slug'), max_length = 100) | |
21 | + name = models.CharField(_('Name'), max_length = 100) | |
22 | + slug = AutoSlugField(_("Slug"),populate_from='name',unique=True) | |
23 | 23 | objectivies = models.TextField(_('Objectivies'), blank = True) |
24 | 24 | content = models.TextField(_('Content'), blank = True) |
25 | 25 | max_students = models.PositiveIntegerField(_('Maximum Students'), blank = True) |
... | ... | @@ -28,12 +28,12 @@ class Course(models.Model): |
28 | 28 | end_register_date = models.DateField(_('Register Date (End)')) |
29 | 29 | init_date = models.DateField(_('Begin of Course Date')) |
30 | 30 | end_date = models.DateField(_('End of Course Date')) |
31 | - image = models.ImageField(verbose_name = _('Image'), blank = True, upload_to = 'courses/', default = 'no_image.jpg') | |
32 | - category = models.ForeignKey(Category, verbose_name = _('Category'), default = 1) | |
33 | - user = models.ForeignKey(User, verbose_name = _('User'), null = True) | |
31 | + image = models.ImageField(verbose_name = _('Image'), blank = True, upload_to = 'courses/') | |
32 | + category = models.ForeignKey(Category, verbose_name = _('Category')) | |
33 | + professors = models.ManyToManyField(User,verbose_name=_('Professors'), related_name='courses') | |
34 | 34 | |
35 | 35 | class Meta: |
36 | - | |
36 | + ordering = ('create_date','name') | |
37 | 37 | verbose_name = _('Course') |
38 | 38 | verbose_name_plural = _('Courses') |
39 | 39 | |
... | ... | @@ -45,7 +45,7 @@ class Subject(models.Model): |
45 | 45 | name = models.CharField(_('Name'), max_length = 100) |
46 | 46 | slug = AutoSlugField(_("Slug"),populate_from='name',unique=True) |
47 | 47 | description = models.TextField(_('Description'), blank = True) |
48 | - visible = models.BooleanField(_('Visible'), default = True, blank = True) | |
48 | + visible = models.BooleanField(_('Visible'), default = False) | |
49 | 49 | create_date = models.DateTimeField(_('Creation Date'), auto_now_add = True) |
50 | 50 | update_date = models.DateTimeField(_('Date of last update'), auto_now=True) |
51 | 51 | course = models.ForeignKey(Course, verbose_name = _('Course'), related_name="subjects") |
... | ... | @@ -53,7 +53,7 @@ class Subject(models.Model): |
53 | 53 | |
54 | 54 | |
55 | 55 | class Meta: |
56 | - ordering = ('create_date',) | |
56 | + ordering = ('create_date','name') | |
57 | 57 | verbose_name = _('Subject') |
58 | 58 | verbose_name_plural = _('Subjects') |
59 | 59 | |
... | ... | @@ -68,10 +68,10 @@ class Topic(models.Model): |
68 | 68 | create_date = models.DateTimeField(_('Creation Date'), auto_now_add = True) |
69 | 69 | update_date = models.DateTimeField(_('Date of last update'), auto_now=True) |
70 | 70 | subject = models.ForeignKey(Subject, verbose_name = _('Subject'), related_name="topics") |
71 | - owner = models.ForeignKey(User, verbose_name = _('Owner'), related_name="topics",default=1) | |
71 | + owner = models.ForeignKey(User, verbose_name = _('Owner'), related_name="topics") | |
72 | 72 | |
73 | 73 | class Meta: |
74 | - ordering = ('create_date',) | |
74 | + ordering = ('create_date','name') | |
75 | 75 | verbose_name = _('Topic') |
76 | 76 | verbose_name_plural = _('Topics') |
77 | 77 | ... | ... |