)
+
+class PosteManager(models.Manager):
+ """
+ Chargement de tous les objets FK existants sur chaque QuerySet.
+ """
+ def get_query_set(self):
+ fkeys = (
+ 'id_rh',
+ 'responsable',
+ 'implantation',
+ 'type_poste',
+ 'service',
+ 'classement_min',
+ 'classement_max',
+ 'valeur_point_min',
+ 'valeur_point_max',
+ )
+ return super(PosteManager, self).get_query_set().select_related(*fkeys).all()
+
+
class Poste(models.Model):
# Modèle existant
id_rh = models.ForeignKey(rh.Poste, null=True, related_name='+',
date_fin = models.DateField(null=True, help_text="format: aaaa-mm-jj")
actif = models.BooleanField(default=True)
+ # Managers
+ objects = PosteManager()
+
def __unicode__(self):
return u'%s - %s (%s)' % (self.implantation, self.type_poste.nom,
self.nom)
('1', 'Expatrié'),
)
+class DossierManager(models.Manager):
+ """
+ Chargement de tous les objets FK existants sur chaque QuerySet.
+ """
+ def get_query_set(self):
+ fkeys = (
+ 'employe',
+ 'poste1',
+ 'implantation1',
+ 'poste2',
+ 'implantation2',
+ 'service',
+ 'responsable',
+ 'remplacement_de',
+ 'statut',
+ 'organisme_bstg',
+ 'classement',
+ 'type_contrat',
+ )
+ return super(DossierManager, self).get_query_set().select_related(*fkeys).all()
+
class Dossier(models.Model):
#Identification
id = models.IntegerField(primary_key=True)
date_maj = models.DateField(auto_now=True)
commentaire = models.TextField(null=True, blank=True)
+ # Managers
+ objects = DossierManager()
+
LIEN_PARENTE_CHOICES = (
('Conjoint', 'Conjoint'),
('Conjointe', 'Conjointe'),
('1', '1'),
)
+class PosteManager(models.Manager):
+ """
+ Chargement de tous les objets FK existants sur chaque QuerySet.
+ """
+ def get_query_set(self):
+ fkeys = (
+ 'implantation',
+ 'type_poste',
+ )
+ return super(PosteManager, self).get_query_set().select_related(*fkeys).all()
+
class Poste(models.Model):
#Identification
id = models.IntegerField(primary_key=True)
date_modification = models.DateField(auto_now=True)
actif = models.BooleanField()
+ # Managers
+ objects = PosteManager()
+
def __unicode__(self):
return u'%s - %s' % (self.implantation, self.type_poste.nom)