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 @@ | @@ -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 @@ | @@ -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,7 +6,7 @@ from users.models import User | ||
6 | class Category(models.Model): | 6 | class Category(models.Model): |
7 | 7 | ||
8 | name = models.CharField(_('Name'), max_length = 100, unique = True) | 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 | create_date = models.DateField(_('Creation Date'), auto_now_add = True) | 10 | create_date = models.DateField(_('Creation Date'), auto_now_add = True) |
11 | 11 | ||
12 | class Meta: | 12 | class Meta: |
@@ -18,8 +18,8 @@ class Category(models.Model): | @@ -18,8 +18,8 @@ class Category(models.Model): | ||
18 | 18 | ||
19 | class Course(models.Model): | 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 | objectivies = models.TextField(_('Objectivies'), blank = True) | 23 | objectivies = models.TextField(_('Objectivies'), blank = True) |
24 | content = models.TextField(_('Content'), blank = True) | 24 | content = models.TextField(_('Content'), blank = True) |
25 | max_students = models.PositiveIntegerField(_('Maximum Students'), blank = True) | 25 | max_students = models.PositiveIntegerField(_('Maximum Students'), blank = True) |
@@ -28,12 +28,12 @@ class Course(models.Model): | @@ -28,12 +28,12 @@ class Course(models.Model): | ||
28 | end_register_date = models.DateField(_('Register Date (End)')) | 28 | end_register_date = models.DateField(_('Register Date (End)')) |
29 | init_date = models.DateField(_('Begin of Course Date')) | 29 | init_date = models.DateField(_('Begin of Course Date')) |
30 | end_date = models.DateField(_('End of Course Date')) | 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 | class Meta: | 35 | class Meta: |
36 | - | 36 | + ordering = ('create_date','name') |
37 | verbose_name = _('Course') | 37 | verbose_name = _('Course') |
38 | verbose_name_plural = _('Courses') | 38 | verbose_name_plural = _('Courses') |
39 | 39 | ||
@@ -45,7 +45,7 @@ class Subject(models.Model): | @@ -45,7 +45,7 @@ class Subject(models.Model): | ||
45 | name = models.CharField(_('Name'), max_length = 100) | 45 | name = models.CharField(_('Name'), max_length = 100) |
46 | slug = AutoSlugField(_("Slug"),populate_from='name',unique=True) | 46 | slug = AutoSlugField(_("Slug"),populate_from='name',unique=True) |
47 | description = models.TextField(_('Description'), blank = True) | 47 | description = models.TextField(_('Description'), blank = True) |
48 | - visible = models.BooleanField(_('Visible'), default = True, blank = True) | 48 | + visible = models.BooleanField(_('Visible'), default = False) |
49 | create_date = models.DateTimeField(_('Creation Date'), auto_now_add = True) | 49 | create_date = models.DateTimeField(_('Creation Date'), auto_now_add = True) |
50 | update_date = models.DateTimeField(_('Date of last update'), auto_now=True) | 50 | update_date = models.DateTimeField(_('Date of last update'), auto_now=True) |
51 | course = models.ForeignKey(Course, verbose_name = _('Course'), related_name="subjects") | 51 | course = models.ForeignKey(Course, verbose_name = _('Course'), related_name="subjects") |
@@ -53,7 +53,7 @@ class Subject(models.Model): | @@ -53,7 +53,7 @@ class Subject(models.Model): | ||
53 | 53 | ||
54 | 54 | ||
55 | class Meta: | 55 | class Meta: |
56 | - ordering = ('create_date',) | 56 | + ordering = ('create_date','name') |
57 | verbose_name = _('Subject') | 57 | verbose_name = _('Subject') |
58 | verbose_name_plural = _('Subjects') | 58 | verbose_name_plural = _('Subjects') |
59 | 59 | ||
@@ -68,10 +68,10 @@ class Topic(models.Model): | @@ -68,10 +68,10 @@ class Topic(models.Model): | ||
68 | create_date = models.DateTimeField(_('Creation Date'), auto_now_add = True) | 68 | create_date = models.DateTimeField(_('Creation Date'), auto_now_add = True) |
69 | update_date = models.DateTimeField(_('Date of last update'), auto_now=True) | 69 | update_date = models.DateTimeField(_('Date of last update'), auto_now=True) |
70 | subject = models.ForeignKey(Subject, verbose_name = _('Subject'), related_name="topics") | 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 | class Meta: | 73 | class Meta: |
74 | - ordering = ('create_date',) | 74 | + ordering = ('create_date','name') |
75 | verbose_name = _('Topic') | 75 | verbose_name = _('Topic') |
76 | verbose_name_plural = _('Topics') | 76 | verbose_name_plural = _('Topics') |
77 | 77 |