aboutsummaryrefslogtreecommitdiff
path: root/factory/django.py
Commit message (Collapse)AuthorAge
* 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).
* Improve @coagulant's fixes to django signals (Closes #212).Raphaël Barrois2015-07-05
| | | | Signal caching didn't exist until Django 1.6.
* 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
* 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.
* Remove warnings with Django 1.7 (Closes #195).Raphaël Barrois2015-04-14
| | | | | | | Builds upon pull request by @shinuza: - Properly import ``get_model`` - Run ``django.setup()`` before importing any models.
* 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)``.
* Remove debug printsRaphaël Barrois2015-03-27
|
* Update header years.Raphaë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.
* 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.
* 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()``.
* Provide readable errors when Meta.model isn't set (Closes #137).Raphaël Barrois2014-06-21
|
* Rename 'target' to 'model'.Raphaël Barrois2014-05-18
|
* factory.django: Fix counter inheritance with abstract models.Raphaël Barrois2014-05-18
|
* Switch FACTORY_FOR and related to 'class Meta'.Raphaël Barrois2014-05-18
| | | | | | | This is easier to declare, avoids cluttering the namespace, and provides entry points for ORM-specific customization. Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* Fix mute_signals' decorator.Raphaël Barrois2014-01-22
|
* Improve mute_signals (Closes #122).Raphaël Barrois2014-01-21
|
* Added "prevent_signals" decorator/context managerIlya Pirogov2014-01-21
|
* django: Fix lazy loading of 'son' factories (Closes #109).Raphaël Barrois2013-11-25
|
* Allow FACTORY_FOR = 'app.Model' for Django (Closes #66).Raphaël Barrois2013-08-28
|
* 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.
* Fix default color for factory.django.ImageFieldRaphaël Barrois2013-07-02
|
* Add factory.django.ImageField (Closes #52).Raphaël Barrois2013-06-27
|
* Fix FileField (bytes instead of str)Raphaël Barrois2013-06-15
|
* Add factory.django.FileField (See #52)Raphaël Barrois2013-06-15
|
* Add django-based tests for DjangoModelFactory.Raphaël Barrois2013-06-10
|
* Move DjangoModelFactory / MogoFactory to their own modules.Raphaël Barrois2013-06-09