Changeset 3579
- Timestamp:
- 08/13/06 19:10:10 (2 years ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/branches/full-history/django/contrib/history/models.py
r3514 r3579 12 12 class ChangeLog(models.Model): 13 13 change_time = models.DateTimeField (_('time of change'), auto_now=True) 14 15 14 content_type = models.ForeignKey(ContentType) 16 15 parent = models.GenericForeignKey() 17 16 object_id = models.IntegerField(_('object ID')) 18 19 17 user = models.ForeignKey(User, default="1") 20 18 object = models.TextField() 21 comment = models.CharField(maxlength=250, default="Bla")19 comment = models.CharField(maxlength=250, blank=True) 22 20 23 21 #object_type = models.CharField(maxlength=50) … … 35 33 ) 36 34 37 list_display = ('object_id', 'user', 'comment', 'content_type', 'change_time', ) 35 list_display = ('__str__', 'user', 'comment', 'content_type', 'change_time', ) 36 37 def __str__(self): 38 return str(self.get_object()) 38 39 39 40 def get_object(self): … … 99 100 print "Sender: ",sender 100 101 101 if not hasattr(instance, 'History'):102 if instance.__class__.__name__ is 'ChangeLog' or not hasattr(instance, 'History'): 102 103 print "Not history-enabled class." 103 104 return 0 … … 114 115 m = __import__(model['module'], '', '', [model['name']]) 115 116 #print model['module'],": ",model['name'],"- ",m 117 print "Model import done: ",m 116 118 except: 117 119 print "Model import error." … … 119 121 if m: 120 122 try: 121 old = getattr(m, model['name']).objects.filter(pk=instance.id) 122 log = ChangeLog(parent=instance, comment="Update") 123 if instance.id: 124 old = getattr(m, model['name']).objects.filter(pk=instance.id)[0] 125 log = ChangeLog(parent=instance, comment="Update") 126 print "Instance has an ID." 127 else: 128 print "Enter except." 129 old = instance 130 instance.id = 0 # FIX: ID cannot be None 131 log = ChangeLog(parent=instance, comment="New") 132 print "Instance without an ID." 123 133 except: 124 old = instance 125 log = ChangeLog(parent=instance, comment="New") 134 return 1 126 135 else: 127 return 0 128 136 return 0 # exit wo/ an action 137 138 129 139 print "Old: ",old 130 140 print "Instance: ",instance.id 141 #print "Test: ",getattr(instance, 'Admin').date_hierarchy 131 142 print "Log: ",log 132 log.object = Pickle.dumps(old [0], protocol=0)143 log.object = Pickle.dumps(old, protocol=0) 133 144 log.save() 134 145 print "New change saved." 135 146 136 147 137 dispatcher.connect( save_new_revision, signal=signals.p ost_save )148 dispatcher.connect( save_new_revision, signal=signals.pre_save )
