On , I learnt ...
About Factory Boy’s
Factory Boy has a useful
SelfAttribute class that lets a field
reference another field of the object being constructed.
It’s particularly useful when used in a
SubFactory as it lets you reference
fields on the parent object. E.g.
import factory from django.utils import timezone class Message(factory.Factory): sent_at = factory.LazyFunction(timezone.now) class Event(factory.Factory): occurred_at = factory.LazyFunction(timezone.now) message = factory.SubFactory( Message, # Ensure the sent_at of the linked message matches the occurred_at field # of the event. sent_at=factory.SelfAttribute("..occurred_at") ) event = Event() assert event.occurred_at == event.message.sent_at # True