Пишу простой биллинг под один проект, не могу придумать как описать в модели зависимость конца срока действия от выбранного периода (месяц, квартал, полгода, год).
class Service(models.Model):
service_periods = (
(0, 30),
(1, 90),
(2, 180),
(3, 360)
)
service_sum = models.DecimalField(default=2000)
service_user = models.ForeignKey(User)
service_begin = models.DateTimeField(auto_now_add=True)
service_period = models.IntegerField(default=0, choices=service_periods)
service_end = models.DateTimeField(default=datetime.now()+timedelta(days=360))
service_ticket = models.ForeignKey(Ticket)
service_active = models.BooleanField(default=True)
service_payed = models.BooleanField(default=False)
service_title = models.CharField(max_length=255)
service_details = models.TextField()
Собственно, service_end - это конец моего периода срока действия заказа. Если явно задавать days для timedelta, то все работает как нужно, но мне нужно выбирать service_period из возможных service_periods, и подставлять его в days для timedelta при вычислении service_end.
менно с этим и возникают проблемы, может кто подскажет как реализовать желаемое (выбор периода из списка доступных периодов и вычисление на основе его - конечной даты действия заказа).
Просьба сильно не пинать, с Django и вообще веб-разработкой пока знаком меньше месяца.
Updated 4 Oct. 2015, 21:38 by ivan.garbera.