curriculum - ordering by unique identifiers
authorJan Szejko <janek37@gmail.com>
Thu, 7 Sep 2017 11:30:42 +0000 (13:30 +0200)
committerJan Szejko <janek37@gmail.com>
Thu, 7 Sep 2017 11:30:42 +0000 (13:30 +0200)
curriculum/migrations/0014_auto__add_unique_curriculum_identifier.py [new file with mode: 0644]
curriculum/models.py

diff --git a/curriculum/migrations/0014_auto__add_unique_curriculum_identifier.py b/curriculum/migrations/0014_auto__add_unique_curriculum_identifier.py
new file mode 100644 (file)
index 0000000..4c85c7e
--- /dev/null
@@ -0,0 +1,82 @@
+# -*- coding: utf-8 -*-
+from south.utils import datetime_utils as datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+
+class Migration(SchemaMigration):
+
+    def forwards(self, orm):
+        # Adding unique constraint on 'Curriculum', fields ['identifier']
+        db.create_unique(u'curriculum_curriculum', ['identifier'])
+
+
+    def backwards(self, orm):
+        # Removing unique constraint on 'Curriculum', fields ['identifier']
+        db.delete_unique(u'curriculum_curriculum', ['identifier'])
+
+
+    models = {
+        u'curriculum.competence': {
+            'Meta': {'ordering': "['section', 'order']", 'object_name': 'Competence'},
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name_en': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '255'}),
+            'name_pl': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '255'}),
+            'order': ('django.db.models.fields.IntegerField', [], {}),
+            'section': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['curriculum.Section']"}),
+            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50'})
+        },
+        u'curriculum.competencelevel': {
+            'Meta': {'ordering': "['competence', 'level']", 'object_name': 'CompetenceLevel'},
+            'competence': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['curriculum.Competence']"}),
+            'description_en': ('django.db.models.fields.TextField', [], {'default': "''"}),
+            'description_pl': ('django.db.models.fields.TextField', [], {'default': "''"}),
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'level': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['curriculum.Level']"})
+        },
+        u'curriculum.curriculum': {
+            'Meta': {'ordering': "['identifier']", 'object_name': 'Curriculum'},
+            'course': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['curriculum.CurriculumCourse']"}),
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'identifier': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255', 'db_index': 'True'}),
+            'level': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['curriculum.CurriculumLevel']"}),
+            'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '16'})
+        },
+        u'curriculum.curriculumcourse': {
+            'Meta': {'ordering': "['slug']", 'object_name': 'CurriculumCourse'},
+            'accusative': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'slug': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}),
+            'title': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        u'curriculum.curriculumlevel': {
+            'Meta': {'object_name': 'CurriculumLevel'},
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'title': ('django.db.models.fields.CharField', [], {'max_length': '16', 'db_index': 'True'})
+        },
+        u'curriculum.level': {
+            'Meta': {'ordering': "['order']", 'object_name': 'Level'},
+            'group_en': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '255'}),
+            'group_pl': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '255'}),
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'meta_name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
+            'name_en': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '255'}),
+            'name_pl': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '255'}),
+            'order': ('django.db.models.fields.IntegerField', [], {}),
+            'package': ('django.db.models.fields.files.FileField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'slug': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
+            'student_package': ('django.db.models.fields.files.FileField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
+        },
+        u'curriculum.section': {
+            'Meta': {'ordering': "['order']", 'object_name': 'Section'},
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name_en': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '255'}),
+            'name_pl': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '255'}),
+            'order': ('django.db.models.fields.IntegerField', [], {}),
+            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50'})
+        }
+    }
+
+    complete_apps = ['curriculum']
\ No newline at end of file
index 4153f1b..314fa1f 100644 (file)
@@ -192,13 +192,14 @@ class Curriculum(models.Model):
     """Official curriculum."""
     TYPES = {'c': u'Cele kształcenia', 't': u'Treści nauczania'}
 
-    identifier = models.CharField(max_length=255, db_index=True)
+    identifier = models.CharField(max_length=255, db_index=True, unique=True)
     title = models.CharField(max_length=255)
     course = models.ForeignKey(CurriculumCourse)
     level = models.ForeignKey(CurriculumLevel)
     type = models.CharField(max_length=16, choices=TYPES.items())
 
     class Meta:
+        ordering = ['identifier']
         verbose_name = _("curriculum item")
         verbose_name_plural = _("curriculum items")