models.py
1.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# -*- coding: utf-8 -*-
from django.contrib.auth.models import User
from django.db.models import Model, CharField, DateTimeField, ForeignKey, \
TextField, IntegerField
from dictionary.models import Lexeme
from patterns.models import Pattern
class HistoryFrame(Model):
transaction_began = DateTimeField(db_index=True)
lexeme = ForeignKey(Lexeme, null=True, blank=True)
pattern = ForeignKey(Pattern, null=True, blank=True)
operation = CharField(max_length=120)
user = ForeignKey(User)
class History(Model):
frame_id = ForeignKey(HistoryFrame, null=True)
table_name = CharField(max_length=120, db_column='table_name_')
column_name = CharField(
max_length=120, db_column='column_name_', blank=True)
timestamp = DateTimeField(db_column='timestamp_')
user = ForeignKey(User, db_column='user_id_')
old_value = TextField(db_column='old_value_', blank=True)
new_value = TextField(db_column='new_value_', blank=True)
lexeme = ForeignKey(Lexeme, db_column='lexeme_id_', null=True, blank=True)
pattern = ForeignKey(
Pattern, db_column='pattern_id_', null=True, blank=True)
row_id = IntegerField(db_column='id_')
operation = CharField(max_length=120, db_column='operation_')
table_oid = IntegerField(db_column='table_oid_')
column_ord = IntegerField(db_column='ordinal_position_of_column_')
transaction_began = DateTimeField(
db_column='transaction_began_', db_index=True)
def __unicode__(self):
return '%s %s.%s %s -> %s' % (
self.operation, self.table_name, self.column_name,
repr(self.old_value),
repr(self.new_value))
class Meta:
db_table = 'history'