399536b0900896f172b2dc3f911c9bd58dc2a18c
[edumed.git] / curriculum / models.py
1 from django.db import models
2 from django.utils.translation import ugettext_lazy as _
3
4 class Section(models.Model):
5     name = models.CharField(_('name'), max_length=255)
6     slug = models.SlugField(_('slug'))
7     order = models.IntegerField(_('order'))
8
9     class Meta:
10         ordering = ['order']
11         verbose_name = _('section')
12         verbose_name_plural = _('sections')
13
14     def __unicode__(self):
15         return self.name
16
17 class Competence(models.Model):
18     section = models.ForeignKey(Section)
19     name = models.CharField(_('name'), max_length=255)
20     slug = models.SlugField(_('slug'))
21     order = models.IntegerField(_('order'))
22
23     class Meta:
24         ordering = ['order']
25         verbose_name = _('competence')
26         verbose_name_plural = _('competences')
27
28     def __unicode__(self):
29         return self.name
30
31 class Level(models.Model):
32     name = models.CharField(_('name'), max_length=255)
33     slug = models.SlugField(_('slug'))
34     order = models.IntegerField(_('order'))
35
36     class Meta:
37         ordering = ['order']
38         verbose_name = _('educational level')
39         verbose_name_plural = _('educational levels')
40
41     def __unicode__(self):
42         return self.name
43
44 class CompetenceLevel(models.Model):
45     competence = models.ForeignKey(Competence)
46     level = models.ForeignKey(Level)
47     description = models.TextField(_('description'))
48
49     class Meta:
50         ordering = ['competence', 'level']
51         verbose_name = _('competence on level')
52         verbose_name_plural = _('competences on levels')
53
54     def __unicode__(self):
55         return "%s/%s" % (self.competence, self.level)