Я использую Django и пытаюсь вычислить средний возраст клиента, и по какой-то причине этот ответ ускользает от меня. То, что я хочу сделать, это перебрать всех клиентов в группе и получить среднюю дельту сегодняшнего дня и их dob.
Вот как выглядит модель:
class Client (models.model):
...
dob = models.DateField(
null = False
)
Так что я пытаюсь сделать что-то вроде этого:
def age(self,qrydtm=date.today())
# here is a method (from funcs.py) that returns a list of dob for the group
delta =
delta_m = ((qrydate.year - self.dob.year)*12)+(qrydate.month - self.dob.month)
years = delta_m // 12
weeks = delta // 7
months = (delta_m - (years*12))
if (years > 0):
return ('%s yr - %s mn' % (years,months))
else:
return ('%s wk' % (weeks))
Метод, который я использую, создает список dob, как этот [(datetime.date (1976, 8, 4),), (datetime.date (2005, 8, 8),), (datetime.date ( 1986, 10, 14),)]