Commit graph

170 commits

Author SHA1 Message Date
Romain G
d07b992b94 Drop old get_query_set syntax, replaced by get_queryset now 2017-01-12 18:34:47 +00:00
Ryan P Kilby
e148c670d1 Fix django 2.0 warnings 2017-01-12 12:16:46 -05:00
Ryan P Kilby
fda2d39ec4 Drop unsupported django versions 2017-01-12 12:16:40 -05:00
Romain G
63e5c59c66 Simplify test models + make it compatible for old Django versions 2017-01-09 19:16:09 +00:00
Romain G
679af01f26 Add fix + tests for abstract manager inheritance issue with StatusModel 2017-01-09 19:02:59 +00:00
Bruno Alla
0efaad1218 Fix issue when extend QuerySet and Manager - fixes #249 2017-01-05 14:29:35 +00:00
Bruno Alla
4311e24e98 Add soft parameter to delete method instead of new one 2016-11-28 23:45:48 +00:00
Bruno Alla
6efab67b79 Merge remote-tracking branch 'carljm/master' into feature/soft-delete-purge
# Conflicts:
#	model_utils/tests/tests.py
2016-11-28 23:31:16 +00:00
romgar
eb41dc0ea0 Prevent test manual import for Django 1.6+. No impact on Django 1.7/1.8, duplicating all test runs in Django 1.6 2016-11-24 21:31:55 +00:00
romgar
2a9c199819 Remove test duplication related to TestCase inheritance in different files 2016-11-24 21:31:23 +00:00
romgar
6fefc53c58 Separate tests in small files, making it easier to edit/add new ones/not conflict on different merge requests 2016-11-23 23:49:53 +00:00
Carl Meyer
94870b2510 Merge pull request #242 from romgar/ticket_241_double_monitor_field_recursion_error
Tests to demonstrate recursion error with double MonitorField and defer()/only() usage
2016-11-21 11:13:31 -08:00
romgar
8ecf75144b Update tests to use freezegun to avoid time resolution issues on Windows 2016-11-20 22:08:07 +00:00
romgar
e2440a6872 Add tests to prevent regression in MonitorField behaviour if we filter out deferred fields in _save_initial 2016-11-19 12:08:48 +00:00
romgar
e9d57e60fe Add test to demonstrate issue #241 2016-11-18 00:24:57 +00:00
Bruno Alla
ff4afd7288 Add a purge_from_db to SoftDeletableModel 2016-11-17 08:56:59 +00:00
Bruno Alla
516c457747 SoftDeletableModel: use correct DB connection
When deleting a SoftDeletableModel instance, the `using` parameter
should be passed down to the `save()` method.

https://docs.djangoproject.com/en/1.10/topics/db/multi-db/#selecting-a-d
atabase-for-save
2016-11-09 19:49:31 +00:00
Radosław Ganczarek
9e90dde2e8 Add SoftDeletableModel 2016-09-12 15:11:34 +02:00
Alexey Evseev
9ee6065f81 Support Django 1.10 deferred FileField with FieldTracker 2016-09-08 18:00:48 +03:00
Artis Avotins
d1337d5a7c Fixed a bug with Django >= 1.9 where values_list was called on
InheritanceQuerySet with `select_subclasses` applied as strings
raised AttributeError exception.

Adds a new test case `test_dj19_values_list_on_select_subclasses`
2016-05-25 18:58:03 +02:00
Mike Bryant
ff3f8e5546 Use all the fields to determine _id variants. Fixes #214
If a tracker is defined on an inherited model, where the parent has a ForeignKey,
the tracker will now correctly determine that the field_map takes `fk` -> `fk_id`
2016-03-31 15:45:19 +01:00
Karl WnW
ce8deed5ca Fix _clone signature for Django<1.9
InheritanceQuerySetMixin._clone signature conflicts with django
ValuesQuerySet._clone code which calls super like this:
"c = super(ValuesQuerySet, self)._clone(klass, **kwargs)"
2015-11-02 17:52:43 +01:00
jarekwg
81eba92e61 flakes 2015-10-29 09:37:21 +11:00
jarekwg
1d473ec6a9 Test InheritanceManager fail against a different model 2015-10-29 09:33:45 +11:00
jarekwg
01514db83c Update MutableField for 1.9 2015-10-29 08:12:35 +11:00
jarekwg
201aa3bf30 Half-assed use of User model raises exceptions in 1.9b1 2015-10-29 08:12:02 +11:00
jarekwg
2824ec2e48 Remove PassThroughManager
As of Django 1.7, QuerySet.as_manager() achieves the same result.
2015-10-29 00:10:28 +11:00
bboogaard
041ef6b838 Keep track of deferred fields on model instance
Instead of on FieldInstanceTracker instance

Signed-off-by: bboogaard <b.boogaard@auto-interactive.nl>
2014-08-19 10:29:03 +02:00
Carl Meyer
a127e32217 Revert "Use a signal handler instead of patching save."
This reverts commit 3496fe4291.
2014-07-31 18:08:24 -06:00
Matthew Schinckel
3496fe4291 Use a signal handler instead of patching save.
References #83.

Instead of patching the save method of a tracked model class, we can use
a signal handler on post_save, which means we can still pickle our model
class.

Note we can't just listen for the signal from the class we have, but
instead listen for all post_save signals. This means we actually install
a new signal handler for each tracked model class, which fires on all
model save occurrences (and returns immediately if this handler doesn't care).

We probably could improve this to have a registry of tracked models, or
something, that allows us to just install one signal handler, and filter
according to membership.
2014-05-12 14:32:59 +09:30
Rodney Folz
f02b0912b2 Failing test for Django 1.7 makemigrations
======================================================================
ERROR: test_migrate (model_utils.tests.tests.MigrationsTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/user/projects/django-model-utils/model_utils/tests/tests.py", line 42, in test_migrate
    call_command('migrate', fake=True)
  File "/home/user/projects/django-model-utils/.tox/py27-trunk/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 167, in call_command
    return klass.execute(*args, **defaults)
  File "/home/user/projects/django-model-utils/.tox/py27-trunk/local/lib/python2.7/site-packages/django/core/management/base.py", line 337, in execute
    output = self.handle(*args, **options)
  File "/home/user/projects/django-model-utils/.tox/py27-trunk/local/lib/python2.7/site-packages/django/core/management/commands/migrate.py", line 138, in handle
    ProjectState.from_apps(apps),
  File "/home/user/projects/django-model-utils/.tox/py27-trunk/local/lib/python2.7/site-packages/django/db/migrations/state.py", line 71, in from_apps
    model_state = ModelState.from_model(model)
  File "/home/user/projects/django-model-utils/.tox/py27-trunk/local/lib/python2.7/site-packages/django/db/migrations/state.py", line 136, in from_model
    e,
TypeError: Couldn't reconstruct field name_changed on tests.Monitored: MonitorField requires a "monitor" argument
2014-04-23 19:10:04 -07:00
Keryn Knight
8a1d0662f1 Provide dir() support for PassThroughManagers.
Reported in #55 by erikcw.
2014-04-15 08:48:01 +01:00
Matthew Schinckel
93500bb381 Ensure we call get_query_set on django 1.5-
Supersedes https://github.com/carljm/django-model-utils/pull/106

I can't actually see why this works, but it does: tests pass
after this that failed before.
2014-03-20 13:11:00 +10:30
Matthew Schinckel
a49936c267 Test case demonstrating relation failure.
https://github.com/carljm/django-model-utils/issues/120
2014-03-20 11:12:38 +10:30
Michael van Tellingen
6ffae1ad8f Add support for deferred fields in the FieldTracker 2014-03-01 13:34:17 +01:00
Michael van Tellingen
1bab9c492d Add failing test 2014-03-01 12:20:13 +01:00
Ryan Senkbeil
617ec2af01 Fix InheritanceManager when the model has a self reference.
Otherwise, we reach max recursion depth.
2014-02-19 15:28:01 -06:00
Carl Meyer
febc3d645a Merge pull request #101 from funkybob/issue-34
Attempt to carry over extras(select) values from parent
2014-01-25 16:25:36 -08:00
Carl Meyer
26f4d7c8f5 Silence BooleanField default warnings. 2014-01-25 17:11:26 -07:00
funkybob
cb362f4a12 Shorten test docstring 2014-01-13 16:49:18 +11:00
Curtis Maloney
0e77c327f5 Update tests.py 2014-01-09 15:46:11 +11:00
Curtis
6f30e88ba5 Attempt to carry over extras(select) values from parent 2014-01-08 23:46:00 +11:00
Carl Meyer
32aa781dc2 Merge branch 'master' into query-set-deprecated
* master:
  Update tox.ini.
  Update runtests.py for compatibility with Django 1.7.
  Check for StatusModel field name conflicts correctly.
2014-01-06 16:06:31 -07:00
Carl Meyer
8ea75e53f4 Check for StatusModel field name conflicts correctly. 2014-01-06 16:03:44 -07:00
Thomas Schreiber
910bcc7830 backwards comptatible get_queryset, for Django < 1.6 2013-12-31 17:30:11 +01:00
Thomas Schreiber
5ae92dba27 fix get_query_set deprecationwarnings 2013-12-30 21:42:52 +01:00
Alejandro Varas
452ac5cd21 Added choices_name parameter to StatusField 2013-11-14 16:12:31 -03:00
Keryn Knight
dd469a0e8f Added test to explicitly demonstrate manually defined related_name
usage works in select_subclasses going forwards.

Also fixed fragility of 2 tests introduced in ae71f9080e
2013-10-26 16:34:21 +01:00
Keryn Knight
262455a60d Update model tests to include our new InheritanceManagerTestChild3
as part of the emulation of select_subclasses.

Test still fails because of #59.
2013-10-26 15:50:19 +01:00
Keryn Knight
ae71f9080e Tests for #59 - a manually specified OneToOne should behave
the same as an implicit one.
2013-10-26 15:44:01 +01:00