Я использую Factory Boy в своих тестах и хочу добиться следующего:
- Сделать
first_period_end_date
зависимым от first_period_date
и добавить к нему 12 месяцев.
Я пытаюсь использовать SelfAttribute
в сочетании с relativedelta
, но способ, которым я сейчас его применяю, не работает. Мой код:
import datetime
import factory
from dateutil import relativedelta
from somewhere.models import Contract
class ContractFactory(factory.django.DjangoModelFactory):
class Meta:
model = Contract
start_date = factory.LazyFunction(datetime.date.today)
first_period_date = factory.SelfAttribute('start_date')
first_period_end_date = (
factory.SelfAttribute('first_period_date')
+ relativedelta.relativedelta(months=12)
)
Но во время выполнения я получаю следующую ошибку:
TypeError: unsupported operand type(s) for +: 'SelfAttribute' and 'relativedelta'
Так что, очевидно, это не так, как это делается. Но как мне это сделать?