J'ai un model
nommé Company_Position_Person
qui déterminent chaque personne travaille dans une entreprise avec la position spécifiée entre startDate
et endDate
:requête pour obtenir la date overlaping
class Company_Position_Person(models.Model):
company_position=models.ForeignKey(Company_Position)
person=models.ForeignKey(Person)
startDate=models.CharField(max_length=25)
endDate=models.CharField(max_length=25)
Maintenant, je veux trouver la liste des collègues d'une personne spécifique Je veux dire savoir quelles personnes travaillent dans cette entreprise en même temps qu'une personne spécifique travaille.Par exemple, je travaille dans la société au startDate=2012-01-01
- endDate=2012-21-12
. Une autre personne qui travaille dans la même entreprise au startDate=2012-08-01
- endDate=2013-21-12
est un collègue de moi en ce moment. J'ai découvert que custome managers peut être utile, mais je ne sais pas comment trouver chevauchement lors de l'exécution de la requête et comment passer startDate
et endDate
d'une personne spécifique au gestionnaire.
http://stackoverflow.com/a/325939/298479 est le « algorithme », vous devez vérifier si les deux plages de dates se chevauchent. – ThiefMaster
tnx, je vais vérifier. –