Ajout exemple
[django-historique.git] / exemple / voiture / models.py
1 from django.db import models
2 from django_historique import History
3 from django.db.models.signals import pre_save, pre_delete
4
5 class Marque (models.Model):
6 nom = models.CharField (max_length = 32)
7
8 def __unicode__ (self):
9 return "<Marque %s>" % self.nom
10
11 class VoitureBase (models.Model):
12 marque = models.ForeignKey (Marque)
13 couleur = models.CharField (max_length = 32)
14
15 class Meta:
16 abstract = True
17
18 class VoitureHistory (History, VoitureBase):
19 def __unicode__ (self):
20 return "<VoitureH %s, rev. %s>" \
21 % (self.history_objectid, self.history_revision)
22
23 class Voiture (VoitureBase):
24 id = models.AutoField (primary_key = True)
25 def __unicode__ (self):
26 return "<Voiture %s>" % self.id
27
28 def voiturehistory_save (sender, instance, signal, *args, **kwargs):
29 history = VoitureHistory ()
30 history.save_log (instance)
31 pre_save.connect(voiturehistory_save, sender=Voiture)
32 pre_delete.connect(voiturehistory_save, sender=Voiture)