Project

General

Profile

Statistics
| Branch: | Revision:

root / env / lib / python2.7 / site-packages / south / models.py @ d1a4905f

History | View | Annotate | Download (1.17 KB)

1
from django.db import models
2
from south.db import DEFAULT_DB_ALIAS
3

    
4
class MigrationHistory(models.Model):
5
    app_name = models.CharField(max_length=255)
6
    migration = models.CharField(max_length=255)
7
    applied = models.DateTimeField(blank=True)
8

    
9
    @classmethod
10
    def for_migration(cls, migration, database):
11
        try:
12
            # Switch on multi-db-ness
13
            if database != DEFAULT_DB_ALIAS:
14
                # Django 1.2
15
                objects = cls.objects.using(database)
16
            else:
17
                # Django <= 1.1
18
                objects = cls.objects
19
            return objects.get(
20
                app_name=migration.app_label(),
21
                migration=migration.name(),
22
            )
23
        except cls.DoesNotExist:
24
            return cls(
25
                app_name=migration.app_label(),
26
                migration=migration.name(),
27
            )
28

    
29
    def get_migrations(self):
30
        from south.migration.base import Migrations
31
        return Migrations(self.app_name)
32

    
33
    def get_migration(self):
34
        return self.get_migrations().migration(self.migration)
35
    
36
    def __unicode__(self):
37
        return "<%s: %s>" % (self.app_name, self.migration)