summaryrefslogtreecommitdiff
path: root/docs
Commit message (Collapse)AuthorAge
* Update note on django's unsaved instance checksRaphaël Barrois2015-10-20
| | | | | | | This note was added to document a regression in Django 1.8.0; the regression has been fixed in 1.8.4. Closes #232
* 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!
* Docs: Fix typo in M2M recipes (Closes #226)Raphaël Barrois2015-10-20
| | | | As spotted by @stephane, thanks!
* 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).
* Docs: Document Faker.add_provider (Closes #218)Raphaël Barrois2015-10-20
|
* Docs: 'import factory.fuzzy' as required (See #138).Raphaël Barrois2015-07-25
|
* 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.
* Docs: fix minor typo.Raphaël Barrois2015-05-31
| | | | As spotted by @proofit404
* 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.
* Fix typo in docs/fuzzy (Closes #207).Raphaël Barrois2015-05-20
| | | | Thanks to @nikolas for spotting it!
* 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.
* Clarify .build() issue with Django>1.8 (Ref #198).Raphaël Barrois2015-04-25
| | | | | | | | | | | | | | | | | | | | | | | | From 1.8 onwards, this crashes: >>> a = MyModel() # Don't save >>> b = MyOtherModel(fkey_to_mymodel=a) In turn, it breaks: class MyModelFactory(factory.django.DjangoModelFactory): class Meta: model = MyModel class MyOtherModelFactory(factory.django.DjangoModelFactory): class Meta: model = MyOtherModel fkey_to_mymodel = factory.SubFactory(MyModelFactory) MyOtherModelFactory.build() # Breaks The error message is: Cannot assign "MyModel()": "MyModel" instance isn't saved in the database. See https://code.djangoproject.com/ticket/10811 for details.
* Release v2.5.2v2.5.2Raphaël Barrois2015-04-21
|
* Fix minor typo (Closes #194).Raphaël Barrois2015-04-14
| | | | Thanks to @DasAllFolks for spotting it!
* 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
|
* Update header years.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``.
* Docs: fix default strategy (Closes #158).Raphaël Barrois2015-03-03
|
* Fix typos in docs (Closes #159, closes #178, closes #188).Raphaël Barrois2015-03-03
|
* 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)``.
* docs: Improve explanation of SQLAlchemy's scoped_session.Raphaël Barrois2015-02-06
|
* docs: Add explanations about SQLAlchemy's scoped_session.Raphaël Barrois2015-02-06
|
* Fix reference docs (Closes #166, #167).Raphaël Barrois2014-11-25
| | | | | | | | Use ``obj`` for ``@post_generation``-decorated methods, instead of ``self``: this makes it clearer that the ``obj`` is an instance of the model, and not of the ``Factory``. Thanks to @jamescooke & @NiklasMM for spotting the typo.
* Fix typo in docsRaphaël Barrois2014-11-18
|
* Remove deprecated features.Raphaël Barrois2014-11-18
| | | | | This disables the ``FACTORY_FOR`` syntax and related parameters, that should be declared through ``class Meta``.
* 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()``.
* Add docs for manual sequence counter managementRaphaël Barrois2014-11-16
|
* Fix typo in docs (Closes #157).Raphaël Barrois2014-09-03
|
* 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
|
* Introduce back missing doc about migrating FACTROY_DJANGO_GET_OR_CREATE.Raphaël Barrois2014-05-21
|
* Improve docs on create_batch (Closes #139).Raphaël Barrois2014-05-18
|
* Update ideas.Raphaël Barrois2014-05-18
|
* Rename hidden/arg_parameters to exclude/inline_args.Raphaël Barrois2014-05-18
|
* Rename 'target' to 'model'.Raphaël Barrois2014-05-18
|
* Update docs for class Meta.Raphaël Barrois2014-05-18
|