Skip to content

Commit a22373a

Browse files
committed
Add .provider attribute
1 parent 774c6ff commit a22373a

File tree

5 files changed

+2120
-1991
lines changed

5 files changed

+2120
-1991
lines changed

docs/main/changelog.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ follows `Semantic versioning`_
1010
Development version
1111
-------------------
1212
- Add ``FactoryAggregate`` provider.
13+
- Add ``Provider.provider`` dynamic attribute that return new provider's
14+
delegate (alias of method ``Provider.delegate()``).
1315
- Add support of six 1.11.0.
1416
- Regenerate C sources using Cython 0.27.1.
1517

examples/providers/factory_delegation.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,3 +51,18 @@ def main_photo(self):
5151
# Making some asserts:
5252
assert isinstance(user1.main_photo, Photo)
5353
assert isinstance(user2.main_photo, Photo)
54+
55+
# or using Factory(...).provider
56+
57+
photos_factory = providers.Factory(Photo)
58+
users_factory = providers.Factory(User,
59+
photos_factory=photos_factory.provider)
60+
61+
62+
# Creating several User objects:
63+
user1 = users_factory() # Same as: user1 = User(photos_factory=photos_factory)
64+
user2 = users_factory() # Same as: user2 = User(photos_factory=photos_factory)
65+
66+
# Making some asserts:
67+
assert isinstance(user1.main_photo, Photo)
68+
assert isinstance(user2.main_photo, Photo)

0 commit comments

Comments
 (0)