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) |