Factory-boy

Latest version: v3.3.0

Safety actively analyzes 621724 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 8

3.3.1

------------------

- Nothing changed yet.

3.3.0

------------------

*New:*

- :issue:`366`: Add :class:`factory.django.Password` to generate Django :class:`~django.contrib.auth.models.User`
passwords.
- :issue:`304`: Add :attr:`~factory.alchemy.SQLAlchemyOptions.sqlalchemy_session_factory` to dynamically
create sessions for use by the :class:`~factory.alchemy.SQLAlchemyModelFactory`.
- Add support for Django 4.0
- Add support for Django 4.1
- Add support for Python 3.10
- Add support for Python 3.11

*Bugfix:*

- Make :meth:`~factory.django.mute_signals` mute signals during post-generation.

- :issue:`775`: Change the signature for :meth:`~factory.alchemy.SQLAlchemyModelFactory._save` and
:meth:`~factory.alchemy.SQLAlchemyModelFactory._get_or_create` to avoid argument names clashes with a field named
``session``.

*Deprecated:*

- :class:`~factory.django.DjangoModelFactory` will stop issuing a second call to
:meth:`~django.db.models.Model.save` on the created instance when :ref:`post-generation-hooks` return a value.

To help with the transition, :class:`factory.django.DjangoModelFactory._after_postgeneration` raises a
:class:`DeprecationWarning` when calling :meth:`~django.db.models.Model.save`. Inspect your
:class:`~factory.django.DjangoModelFactory` subclasses:

- If the :meth:`~django.db.models.Model.save` call is not needed after :class:`~factory.PostGeneration`, set
:attr:`factory.django.DjangoOptions.skip_postgeneration_save` to ``True`` in the factory meta.

- Otherwise, the instance has been modified by :class:`~factory.PostGeneration` hooks and needs to be
:meth:`~django.db.models.Model.save`\ d. Either:

- call :meth:`django.db.models.Model.save` in the :class:`~factory.PostGeneration` hook that modifies the
instance, or
- override :class:`~factory.django.DjangoModelFactory._after_postgeneration` to
:meth:`~django.db.models.Model.save` the instance.

*Removed:*

- Drop support for Django 2.2
- Drop support for Django 3.0
- Drop support for Django 3.1
- Drop support for Python 3.6

3.2.1

------------------

*New:*
- Add support for Django 3.2

*Bugfix:*

- Do not override signals receivers registered in a :meth:`~factory.django.mute_signals` context.

- :issue:`775`: Change the signature for :meth:`~factory.alchemy.SQLAlchemyModelFactory._save` and
:meth:`~factory.alchemy.SQLAlchemyModelFactory._get_or_create` to avoid argument names clashes with a field named
``session``.

3.2.0

------------------

*New:*

- Add support for Django 3.1
- Add support for Python 3.9

*Removed:*

- Drop support for Django 1.11. This version `is not maintained anymore <https://www.djangoproject.com/download/#supported-versions>`__.
- Drop support for Python 3.5. This version `is not maintained anymore <https://devguide.python.org/developer-workflow/development-cycle/index.html#end-of-life-branches>`__.

*Deprecated:*

- :func:`factory.use_strategy`. Use :attr:`factory.FactoryOptions.strategy` instead.
The purpose of :func:`~factory.use_strategy` duplicates the factory option. Follow :pep:`20`: *There should be
one-- and preferably only one --obvious way to do it.*

:func:`~factory.use_strategy()` will be removed in the next major version.

*Bug fix:*

- :issue:`785` :issue:`786` :issue:`787` :issue:`788` :issue:`790` :issue:`796`: Calls to :class:`factory.Faker`
and :class:`factory.django.FileField` within a :class:`~factory.Trait` or :class:`~factory.Maybe` no longer lead to
a ``KeyError`` crash.

3.1.0

------------------

*New:*

- Allow all types of declarations in :class:`factory.Faker` calls - enables references to other faker-defined attributes.

3.0.1

------------------

*Bug fix:*

- :issue:`769`: Fix ``import factory; factory.django.DjangoModelFactory`` and similar calls.

Page 1 of 8

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.