diff options
Diffstat (limited to 'archaeological_files')
-rw-r--r-- | archaeological_files/migrations/0003_views.py | 16 | ||||
-rw-r--r-- | archaeological_files/models.py | 13 |
2 files changed, 29 insertions, 0 deletions
diff --git a/archaeological_files/migrations/0003_views.py b/archaeological_files/migrations/0003_views.py new file mode 100644 index 000000000..5e3d891ad --- /dev/null +++ b/archaeological_files/migrations/0003_views.py @@ -0,0 +1,16 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations +from archaeological_files.models import FileByDepartment + + +class Migration(migrations.Migration): + + dependencies = [ + ('archaeological_files', '0002_auto_20170414_2123'), + ] + + operations = [ + migrations.RunSQL(FileByDepartment.CREATE_SQL) + ] diff --git a/archaeological_files/models.py b/archaeological_files/models.py index 412cceb46..2bd5eba9c 100644 --- a/archaeological_files/models.py +++ b/archaeological_files/models.py @@ -554,6 +554,19 @@ class FileByDepartment(models.Model): """ Database view for dashboard """ + CREATE_SQL = """ + CREATE VIEW file_department (id, department_id, file_id) as + select town."id", town."departement_id", file_towns."file_id" + from ishtar_common_town town + inner join archaeological_files_file_towns file_towns + on file_towns."town_id"=town."id" + order by town."departement_id"; + CREATE RULE file_department_delete + AS ON DELETE TO file_department DO INSTEAD(); + """ + DELETE_SQL = """ + DROP VIEW file_department; + """ file = models.ForeignKey(File, verbose_name=_(u"File")) department = models.ForeignKey(Department, verbose_name=_(u"Department"), blank=True, null=True) |