Use auto_now_add in the history app
This commit is contained in:
@@ -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
|
||||
|
||||
70
mayan/apps/history/migrations/0001_initial.py
Normal file
70
mayan/apps/history/migrations/0001_initial.py
Normal 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']
|
||||
@@ -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']
|
||||
0
mayan/apps/history/migrations/__init__.py
Normal file
0
mayan/apps/history/migrations/__init__.py
Normal 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']
|
||||
|
||||
|
||||
Reference in New Issue
Block a user