Use auto_now_add in the history app

This commit is contained in:
Roberto Rosario
2014-10-18 01:04:59 -04:00
parent c5e35ba074
commit 7d47b1f30d
5 changed files with 117 additions and 6 deletions

View File

@@ -59,6 +59,7 @@ Next upgrade/add the new requirements::
Migrate existing database schema with::
$ mayan-edms.py migrate dynamic_search 0001 --fake
$ mayan-edms.py migrate history 0001 --fake
$ mayan-edms.py migrate lock_manager 0001 --fake
$ mayan-edms.py migrate tags 0001 --fake
$ mayan-edms.py migrate

View File

@@ -0,0 +1,70 @@
# -*- 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 model 'HistoryType'
db.create_table(u'history_historytype', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('namespace', self.gf('django.db.models.fields.CharField')(max_length=64)),
('name', self.gf('django.db.models.fields.CharField')(max_length=64)),
))
db.send_create_signal(u'history', ['HistoryType'])
# Adding unique constraint on 'HistoryType', fields ['namespace', 'name']
db.create_unique(u'history_historytype', ['namespace', 'name'])
# Adding model 'History'
db.create_table(u'history_history', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('datetime', self.gf('django.db.models.fields.DateTimeField')()),
('content_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['contenttypes.ContentType'], null=True, blank=True)),
('object_id', self.gf('django.db.models.fields.PositiveIntegerField')(null=True, blank=True)),
('history_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['history.HistoryType'])),
('dictionary', self.gf('django.db.models.fields.TextField')(blank=True)),
))
db.send_create_signal(u'history', ['History'])
def backwards(self, orm):
# Removing unique constraint on 'HistoryType', fields ['namespace', 'name']
db.delete_unique(u'history_historytype', ['namespace', 'name'])
# Deleting model 'HistoryType'
db.delete_table(u'history_historytype')
# Deleting model 'History'
db.delete_table(u'history_history')
models = {
u'contenttypes.contenttype': {
'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
},
u'history.history': {
'Meta': {'ordering': "('-datetime',)", 'object_name': 'History'},
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']", 'null': 'True', 'blank': 'True'}),
'datetime': ('django.db.models.fields.DateTimeField', [], {}),
'dictionary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'history_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['history.HistoryType']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'object_id': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'})
},
u'history.historytype': {
'Meta': {'ordering': "('namespace', 'name')", 'unique_together': "(('namespace', 'name'),)", 'object_name': 'HistoryType'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
'namespace': ('django.db.models.fields.CharField', [], {'max_length': '64'})
}
}
complete_apps = ['history']

View File

@@ -0,0 +1,45 @@
# -*- 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):
# Changing field 'History.datetime'
db.alter_column(u'history_history', 'datetime', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True))
def backwards(self, orm):
# Changing field 'History.datetime'
db.alter_column(u'history_history', 'datetime', self.gf('django.db.models.fields.DateTimeField')())
models = {
u'contenttypes.contenttype': {
'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
},
u'history.history': {
'Meta': {'ordering': "('-datetime',)", 'object_name': 'History'},
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']", 'null': 'True', 'blank': 'True'}),
'datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'dictionary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'history_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['history.HistoryType']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'object_id': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'})
},
u'history.historytype': {
'Meta': {'ordering': "('namespace', 'name')", 'unique_together': "(('namespace', 'name'),)", 'object_name': 'HistoryType'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
'namespace': ('django.db.models.fields.CharField', [], {'max_length': '64'})
}
}
complete_apps = ['history']

View File

@@ -35,7 +35,7 @@ class HistoryType(models.Model):
class History(models.Model):
datetime = models.DateTimeField(verbose_name=_(u'Date time'))
datetime = models.DateTimeField(verbose_name=_(u'Date time'), auto_now_add=True)
content_type = models.ForeignKey(ContentType, blank=True, null=True)
object_id = models.PositiveIntegerField(blank=True, null=True)
content_object = generic.GenericForeignKey('content_type', 'object_id')
@@ -45,11 +45,6 @@ class History(models.Model):
def __unicode__(self):
return u'%s - %s - %s' % (self.datetime, self.content_object, self.history_type)
def save(self, *args, **kwargs):
if not self.pk:
self.datetime = now()
super(History, self).save(*args, **kwargs)
def get_label(self):
return history_types_dict[self.history_type.namespace][self.history_type.name]['label']