1622: Trop de requêtes lors de l'ajout d'une offre d'emploi
authornilovna.bascunan-vasquez <nilovna.bascunan-vasquez@localhost.localdomain>
Mon, 13 Jun 2011 20:37:51 +0000 (16:37 -0400)
committernilovna.bascunan-vasquez <nilovna.bascunan-vasquez@localhost.localdomain>
Mon, 13 Jun 2011 20:37:51 +0000 (16:37 -0400)
project/recrutement/admin.py
project/recrutement/models.py

index 2962d7f..1b5aaae 100644 (file)
@@ -45,7 +45,7 @@ class OffreEmploiAdmin(VersionAdmin):
             user = UserProfile.objects.get(user=request.user)
         except UserProfile.DoesNotExist:
             return qs.none()
-
+        
         region_ids = [g.id for g in user.regions.all()]
         return qs.select_related('offre_emploi').filter(region__in=region_ids)
 
index 6c924cf..1aef1cf 100755 (executable)
@@ -29,12 +29,24 @@ class Metadata(models.Model):
     class Meta:
         abstract = True
 
+class OffreEmploiManager(models.Manager):
+    def get_query_set(self):
+        fkeys = ('poste', 'region',)
+        return super(OffreEmploiManager, self).get_query_set().select_related(*fkeys).all()
+
+class ProxyPoste(rh.Poste):
+    class Meta:
+        proxy = True
+
+    def __unicode__(self):
+        return '%s [%s]' % (self.nom, self.id)
 
 class OffreEmploi(Metadata):
+    objects = OffreEmploiManager()
     nom = models.CharField(max_length=255)
     resume = models.TextField(verbose_name="Résumé")
     description = models.TextField()
-    poste = models.ForeignKey(rh.Poste, db_column='poste')
+    poste = models.ForeignKey(ProxyPoste, )#db_column='poste')
     date_limite = models.DateField(verbose_name="Date limite")  
     region = models.ForeignKey(ref.Region, db_column='region', 
                 verbose_name="Région")
@@ -120,7 +132,7 @@ class CandidatPiece(models.Model):
             storage=storage_prive, )
 
     class Meta:
-        verbose_name = "pièce jointe du candidat"
+        verbose_name = "pièce jointe du candidats"
         verbose_name_plural = "pièces jointes des candidats"
 
     def __unicode__(self):