- update to 3.3.1:
* Add support for Django 4.2
* Add support for Django 5.1
* Add support for Python 3.12
* Stop advertising and verifying support for Django 3.2, 4.0,
4.1
- :issue:`366`: Add :class:`factory.django.Password` to generate Django
+ If the :meth:`~django.db.models.Model.save` call is not needed after :class:`~factory.PostGeneration`, set
- Drop tests-skip-django-py36.patch because new version need
- skip testing with Django on SLE15
- BuildRequires on %{pythons} as setuptools no longer drags it in.
OBS-URL: https://build.opensuse.org/request/show/1198077
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-factory_boy?expand=0&rev=21
* Add support for Django 4.2
* Add support for Django 5.1
* Add support for Python 3.12
* Stop advertising and verifying support for Django 3.2, 4.0,
4.1
- :issue:`366`: Add :class:`factory.django.Password` to generate Django
+ If the :meth:`~django.db.models.Model.save` call is not needed after :class:`~factory.PostGeneration`, set
- Drop tests-skip-django-py36.patch because new version need
- skip testing with Django on SLE15
- BuildRequires on %{pythons} as setuptools no longer drags it in.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-factory_boy?expand=0&rev=34
- Update to 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.
OBS-URL: https://build.opensuse.org/request/show/1125175
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-factory_boy?expand=0&rev=20
- Update to 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
- Drop support for Python 3.7
- Drop tests-skip-django-py36.patch because new version need
python >= 3.7.
OBS-URL: https://build.opensuse.org/request/show/1124433
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-factory_boy?expand=0&rev=30
- Update to v3.2.0
* Add support for Django 3.1
* Add support for Python 3.9
* Drop support for Django 1.11. This version is not maintained
anymore.
* Drop support for Python 3.5. This version is not maintained
anymore.
Deprecated:
* factory.use_strategy(). Use factory.FactoryOptions.strategy
instead. The purpose of use_strategy() duplicates the factory
option. Follow PEP 20: There should be one– and preferably only
one –obvious way to do it.
* use_strategy() will be removed in the next major version.
Bug fix:
* Calls to factory.Faker and factory.django.FileField within a
Trait or Maybe no longer lead to a KeyError crash.
- Remove python2 build conditional: Not supported upstream
OBS-URL: https://build.opensuse.org/request/show/893466
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-factory_boy?expand=0&rev=21
- Use PyPI tarball and revise test runner to python -m unittest
- Update to v3.1.0
* Allow all types of declarations in :class:`factory.Faker` calls
enables references to other faker-defined attributes.
- from v3.0.1
* Fix `import factory; factory.django.DjangoModelFactory` and
similar calls.
- from v3.0.0
* Removed alias
+ `from factory import DjangoModelFactory` to
`from factory.django import DjangoModelFactory`
+ `from factory import MogoFactory` to
`from factory.mogo import MogoFactory`
+ `from factory.fuzzy import get_random_state` to
`from factory.random import get_random_state`
+ `from factory.fuzzy import set_random_state` to
`from factory.random import set_random_state`
+ `from factory.fuzzy import reseed_random` to
`from factory.random import reseed_random`
* Drop support for Python 2 and 3.4
* Drop support for Django 2.0 and 2.1
* Remove deprecated `force_flush` from `SQLAlchemyModelFactory`
Use `sqlalchemy_session_persistence = "flush"` instead
* Drop deprecated `attributes()` from `factory.Factory`; use
`make_factory(dict, FactoryClass._meta.pre_declarations)`
* Drop deprecated `declarations()` from `factory.Factory`; use
`FactoryClass._meta.pre_declarations` instead
* Drop `factory.compat` module
* Add support for Python 3.8
* Add support for Django 2.2 and 3.0
* Report misconfiguration when `Factory` is used
as the `Factory.model` for another `Factory`
* Allow configuring the color palette of `factory.django.ImageField`
* `get_random_state()` now represents the state of Faker and
`factory_boy` fuzzy attributes
* Add SQLAlchemy ``get_or_create`` support
* Display a developer-friendly error message when providing a model
instead of a factory in a `factory.declarations.SubFactory` class
* Fix issue with SubFactory not preserving signal muting behaviour
of the used factory
* Fix issue with overriding params in a Trait
* Limit ``get_or_create`` behavior to fields specified in
`django_get_or_create`
* Re-raise `~django.db.IntegrityError` when `django_get_or_create`
with multiple fields fails to lookup model using user provided
keyword arguments
* TypeError masked by __repr__ AttributeError when initializing
`Maybe` with inconsistent phases
OBS-URL: https://build.opensuse.org/request/show/839483
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-factory_boy?expand=0&rev=19