aboutsummaryrefslogtreecommitdiff
path: root/docs/changelog.rst
Commit message (Collapse)AuthorAge
* mogo: Stop using deprecated .new (Closes #219)Raphaël Barrois2015-10-20
| | | | | | This method has been deprecated in `mogo.model.Model` since 2012. Thanks to @federicobond for spotting this!
* Lazy load django's get_model (Closes #228).Raphaël Barrois2015-10-20
| | | | | | Loading this function will, on pre-1.8 versions, load Django settings. We'll lazy-load it to avoid crashes when Django hasn't been configured yet (e.g in auto-discovery test setups).
* Fix mute_signals behavior for signals with cachingIlya Baryshev2015-07-05
| | | | | | | | | Connecting signals (with use_caching=True) inside mute_signals was breaking unmute on exit. Paused receivers were not running. This was caused by signal cache not being restored after unpatching. Workaround is to clear signal cache on exit. Fixes #212
* Improve ORM layer import paths (Closes #186).Raphaël Barrois2015-05-31
| | | | | | | | | You may now use the following code: import factory factory.alchemy.SQLAlchemyModelFactory factory.django.DjangoModelFactory factory.mongoengine.MongoEngineFactory
* Properly handle custom Django managers (Closes #201).Raphaël Barrois2015-05-31
| | | | | | The actual behavior of Django with custom managers and inherited abstract models is rather complex, so this had to be adapted to the actual Django source code.
* Add lazy loading to factory.Iterator.Raphaël Barrois2015-05-24
| | | | | | | | | | | factory.Iterator no longers begins iteration of its argument on declaration, since this behavior may trigger database query when that argument is, for instance, a Django queryset. The ``factory.Iterator``'s argument will only be called when the containing ``Factory`` is first evaluated; this means that factories using ``factory.Iterator(models.MyThingy.objects.all())`` will no longer call the database at import time.
* Add factory.Faker()Raphaël Barrois2015-05-22
| | | | | This relies on the ``fake-factory`` library, and provides realistic random values for most field types.
* Add Meta.rename to handle name conflicts (See #206).Raphaël Barrois2015-05-20
| | | | | | Define ``Meta.rename = {'attrs': 'attributes'}`` if your model expects a ``attributes`` kwarg but you can't define it since it's already reserved by the ``Factory`` class.
* Release v2.5.2v2.5.2Raphaël Barrois2015-04-21
|
* Release v2.5.1v2.5.1Raphaël Barrois2015-03-27
|
* Support declarations in FileField/ImageField.Raphaël Barrois2015-03-27
| | | | Previously, the declarations (``factory.Sequence`` & co) weren't properly computed.
* Respect default manager in DjangoModelFactory (Closes #192).Raphaël Barrois2015-03-27
| | | | | The previous version tries to use ``cls._default_manager`` all the time, which breaks with ``manager.using(db_name)``.
* Add upgrade instructions for 2.5.0Raphaël Barrois2015-03-27
|
* Clarify impacts of 2.5.0.Raphaël Barrois2015-03-26
|
* Get ready for next release.Raphaël Barrois2015-03-26
|
* Release v2.5.0v2.5.0Raphaël Barrois2015-03-26
|
* Turn FileField/ImageField into normal fields (Closes #141).Raphaël Barrois2015-03-26
| | | | | Previously, they ran as post_generation hooks, meaning that they couldn't be checked in a model's ``save()`` method, for instance.
* Remove limitations of factory.StubFactory (Closes #131).Raphaël Barrois2015-03-26
| | | | | ``StubFactory.build()`` is now supported, and maps to ``StubFactory.stub()``.
* Add support for multidb with Django (Closes #171).Raphaël Barrois2015-03-26
| | | | | | | | | | | | | | The ``factory.django.DjangoModelFactory`` now takes an extra option: ``` class MyFactory(factory.django.DjangoModelFactory): class Meta: model = models.MyModel database = 'replica' ``` This will create all instances of ``models.Model`` in the ``'replica'`` database.
* Fix issues between mute_signals() and factory inheritance (Closes #183).Raphaël Barrois2015-03-26
| | | | | | Previously, if a factory was decorated with ``@mute_signals`` and one of its descendant called another one of its descendant, signals weren't unmuted properly.
* Allow lazy evaluation of FuzzyChoice's iterators (Closes #184).Raphaël Barrois2015-03-26
| | | | | | | | | This allows the following idiom: ``user = factory.fuzzy.FuzzyChoice(User.objects.all())`` Previously, the ``User.objects.all()`` queryset would have been evaluated *at import time*; it is now evaluated with the first use of the ``FuzzyChoice``.
* Enable resetting factory.fuzzy's random generator (Closes #175, #185).Raphaël Barrois2015-02-18
| | | | | | | | | Users may now call ``factory.fuzzy.get_random_state()`` to retrieve the current random generator's state (isolated from the one used in Python's ``random``). That state can then be reinjected with ``factory.fuzzy.set_random_state(state)``.
* Remove automagic pk-based sequence setupRaphaël Barrois2014-11-16
| | | | | | | | | | | | | | | | | | | | | | | | Related to issues #78, #92, #103, #111, #153, #170 The default value of all sequences is now 0; the automagic ``_setup_next_sequence`` behavior of Django/SQLAlchemy has been removed. This feature's only goal was to allow the following scenario: 1. Run a Python script that uses MyFactory.create() a couple of times (with a unique field based on the sequence counter) 2. Run the same Python script a second time Without the magical ``_setup_next_sequence``, the Sequence counter would be set to 0 at the beginning of each script run, so both runs would generate objects with the same values for the unique field ; thus conflicting and crashing. The above behavior having only a very limited use and bringing various issues (hitting the database on ``build()``, problems with non-integer or composite primary key columns, ...), it has been removed. It could still be emulated through custom ``_setup_next_sequence`` methods, or by calling ``MyFactory.reset_sequence()``.
* Release v2.4.1v2.4.12.4.1Raphaël Barrois2014-06-23
|
* Release v2.4.0v2.4.0Raphaël Barrois2014-06-21
|
* doc: Document upgrade path for FACTORY_*.Raphaël Barrois2014-05-31
|
* Update ChangeLogRaphaël Barrois2014-05-18
|
* Merge branch 'maint/2.3.x'Raphaël Barrois2014-01-22
|\
| * Release v2.3.1v2.3.12.3.1Raphaël Barrois2014-01-22
| |
| * Fix log_pprint for *args (Closes #127).Raphaël Barrois2014-01-22
| |
* | fuzzy: Add FuzzyFloat (Closes #124).Raphaël Barrois2014-01-22
| | | | | | | | As suggested by @savingschampion
* | Fix log_pprint for *args (Closes #127).Raphaël Barrois2014-01-22
| |
* | Merge branch 'maint/2.3.x'Raphaël Barrois2014-01-22
|\|
| * Update ChangeLog.Raphaël Barrois2014-01-22
| |
* | Add doc for factory.django.mute_signals.Raphaël Barrois2014-01-21
| |
* | Merge branch 'maint/2.3.x'Raphaël Barrois2014-01-21
|\| | | | | | | | | Conflicts: docs/changelog.rst
| * Update ChangeLogRaphaël Barrois2014-01-21
| |
* | Document FuzzyInteger.stepRaphaël Barrois2013-12-30
|/
* Release v2.3.0v2.3.0Raphaël Barrois2013-12-25
|
* Add doc for MongoEngineFactory's support of EmbeddedDocument.Raphaël Barrois2013-12-25
| | | | Closes #100, #112.
* Style fixes for FuzzyDecimal (Closes #94).Raphaël Barrois2013-10-29
|
* Update Changelog with FuzzyText (Closes #97).Raphaël Barrois2013-10-29
|
* Fix Django sequences with abstract base models.Raphaël Barrois2013-09-25
|
* Release v2.2.0v2.2.0Raphaël Barrois2013-09-24
|
* Properly handle Sequence & inheritance (Closes #93).Raphaël Barrois2013-09-17
| | | | | There was also a nasty bug: with class FactoryB(FactoryA), FactoryB's sequence counter started at the value of FactoryA's counter when FactoryB was first called.
* Add 'factory.debug' context manager.Raphaël Barrois2013-09-17
|
* Adding factory support for mongoengine (Closes #89).Jonathan Tushman2013-09-13
|
* Update ChangeLogRaphaël Barrois2013-08-28
|
* Release v2.1.2Raphaël Barrois2013-08-14
|
* Make ABSTRACT_FACTORY optional (Closes #74)Raphaël Barrois2013-08-13
| | | | | | | | It will be automatically set to True if neither the Factory subclass nor its parents define a FACTORY_FOR argument. It can also be set on a Factory subclass to prevent it from being called.