Commit Graph
100 Commits
Author SHA1 Message Date
Diederik van der Boor 78e31f16e7 Reinserted v1.3.1 changelog after merging with "ours" strategy 2018-04-16 11:37:47 +02:00
Diederik van der Boor a797605853 Merge branch 'v1.3.x' 2018-04-16 11:36:38 +02:00
Diederik van der Boor 31dd8b6138 Release v1.3.1 2018-04-16 11:33:14 +02:00
Diederik van der Boor 8f7f255580 Fixed template settings in example app
(cherry picked from commit 19497960c7)
2018-04-16 11:33:08 +02:00
Diederik van der Boor 9f92b0614d Fixed applabel__ModelName___field looksups
Closes: #286
(cherry picked from commit 8f0932b71e)
2018-04-16 11:21:51 +02:00
Diederik van der Boor ca1a982c34 Make sure reset_polymorphic_ctype() supports proxy models
(cherry picked from commit 04b5fb423c)
2018-04-16 11:21:51 +02:00
Diederik van der Boor 551e93c47c Fix support for proxy models in formsets and admin inlines
(cherry picked from commit c2768f8101)
2018-04-16 11:21:51 +02:00
Diederik van der Boor 5c0b561ba2 Add UnsupportedChildType error for formsets
This also replaces the PolymorphicInlineModelAdmin.get_get_child_inline_instance()
and BasePolymorphicModelFormSet._construct_form() lookup with UnsupportedChildType

(cherry picked from commit cafaf95f06)
2018-04-16 11:21:51 +02:00
Diederik van der Boor e00e6d7e39 Fix deleteText of |as_script_options
(cherry picked from commit 9f6e0716f6)
2018-04-16 11:21:51 +02:00
Diederik van der Boor 7de1366f6f Improve docs of PolymorphicChildModelAdmin attributes
(cherry picked from commit c437524876)
2018-04-16 11:21:51 +02:00
Diederik van der Boor fe7de17ecf Make the admin base_model setting optional.
It can be detected using get_base_polymorphic_model()

(cherry picked from commit cf0cb2478f)
2018-04-16 11:21:51 +02:00
Diederik van der Boor 874b60ec40 Added get_base_polymorphic_model() to detect the common base class for a polymorphic model.
(cherry picked from commit 04d4181e17)
2018-04-16 11:21:51 +02:00
Diederik van der Boor fa9612d49c Small Django 1.8/19 difference for .only() 2018-04-16 11:21:39 +02:00
Diederik van der Boor 171df51428 Ensure consistent ordering in testing reset_polymorphic_ctype
Amends: 171d14f369
(cherry picked from commit 77797bfa12)
2018-04-16 11:08:27 +02:00
Diederik van der Boor 467e6f517e Improve reset_polymorphic_ctype() for reliability and test it.
This function can now be safely used on a set of models.

(cherry picked from commit 171d14f369)
2018-04-16 11:08:27 +02:00
Diederik van der Boor db46dbb446 Also introduce a new exception type for invalid database IDs
(cherry picked from commit 4835cd244e)
2018-04-16 11:08:27 +02:00
Diederik van der Boor f126f5f304 Provide a better error message when polymorphic_ctype_id is Null
refs #51, #140, #304

(cherry picked from commit fb8eed78ad)
2018-04-16 11:08:27 +02:00
Diederik van der Boor d3f044871b fix manager docs imports
Mentioned in #61
2018-02-19 11:06:39 +01:00
Diederik van der Boor ff57aa57a3 include test for missing Meta.manager_inheritance_from_future 2018-02-05 13:31:00 +01:00
Diederik van der Boor 78682d2022 Bump to v2.0.2 2018-02-05 13:28:40 +01:00
Diederik van der Boor ea53b995a1 Enforce manager_inheritance_from_future on every model 2018-02-05 13:26:54 +01:00
Diederik van der Boor a6aa95c07e Fixed internal usage of deprecated base_objects
Reverted the change in f898f80594 that
also replaces the internal `base_objects` with `.non_polymorphic()`.
That also changed which querysets was used. Use a clean queryset
instead that has no select-related/prefetch information, etc.. like
previous versions did.
2018-02-05 13:00:23 +01:00
Diederik van der Boor d36f55a58f Bump to v2.0.1 2018-02-05 10:57:52 +01:00
Diederik van der Boor c56d22b5b8 travis: use newer postgres for Django 2.0 tests 2018-02-05 10:57:52 +01:00
Diederik van der Boor 852ecf6ea9 Turn the manager inheritance error into a warning.
Not all projects have queryset issues, for example the class could be a
leaf that doesn't get inherited further.

  class PolymorphicModel
    class ContentItem
      class TextItem   <-- gets error, but it's the leaf anyway.
2018-02-05 10:19:18 +01:00
Diederik van der Boor f898f80594 Fixed unwanted manager replacement in Django 1.11 projects.
Django 1.11 uses the old manager inheritance system, unless it's
overwritten with manager_inheritance_from_future. With a class layout
like:

  PolymorphicModel  (abstract)
    PolymorphicMPTTModel  (abstract)
      GenericCustomer  (concrete, has objects = ...)
        CustomerGroupBase (abstract, has objects = ...)
          Partner (concrete, no manager)
            BranchPartner  (concrete, no manager)

The last level gets a normal Django Manager instead of the polymorphic
manager. Because the PolymorphicModel had a base_objects manager, this
was typically used as _default_manager. Now that the default manager is
no longer affected, it's also easier to detect why the "objects" doesn't
get the proper manager type. Using "manager_inheritance_from_future" is
recommended instead to have both the right behavior and forward
Django 2.x compatibility.
2018-02-04 13:22:51 +01:00
Diederik van der Boor 723c78065c PEP8 runtests 2018-01-31 22:56:05 +01:00
Diederik van der Boor d4cf32b5b6 Also show warning via coverage and travis 2018-01-31 22:52:07 +01:00
Diederik van der Boor e21843aef9 Show deprecation warnings during tests 2018-01-31 22:37:11 +01:00
Diederik van der Boor f84e732767 fixed test management commands 2018-01-22 15:22:39 +01:00
Diederik van der Boor f7c9df935f move _polymorphic_iterator to PolymorphicModelIterable as there is no second compatibility code path anymore 2018-01-22 15:22:27 +01:00
Diederik van der Boor fa3b874a54 Bumped to 2.0 2018-01-22 10:18:51 +01:00
Diederik van der Boor 9d651a1cdb Fix the add_media() hack for Django 2.0 2018-01-18 15:45:18 +01:00
Diederik van der Boor 7fe7861f45 Amend PR #336: fix migration file syntax for Django 1.10 2018-01-15 15:08:14 +01:00
Diederik van der Boor a2ba52517f Improve fix of PR #321
checking hasattr(self, 'fieldsets') alway returns true, and produces
different effects. The hasattr(self, 'declared_fieldsets') was designed
to detect whether Django injected that attribute.

Amends: 5e150ea85a
2017-12-22 10:03:13 +01:00
Diederik van der Boor 02b71d8ba9 Improve fix of PR #321
checking hasattr(self, 'fieldsets') alway returns true, and produces
different effects. The hasattr(self, 'declared_fieldsets') was designed
to detect whether Django injected that attribute.

Amends: 5e150ea85a
2017-11-20 15:22:58 +01:00
Diederik van der Boor 8f0932b71e Fixed applabel__ModelName___field looksups
Closes: #286
2017-11-20 15:19:21 +01:00
Diederik van der Boor 04b5fb423c Make sure reset_polymorphic_ctype() supports proxy models 2017-10-08 22:43:54 +02:00
Diederik van der Boor c2768f8101 Fix support for proxy models in formsets and admin inlines 2017-10-08 22:43:54 +02:00
Diederik van der Boor cafaf95f06 Add UnsupportedChildType error for formsets
This also replaces the PolymorphicInlineModelAdmin.get_get_child_inline_instance()
and BasePolymorphicModelFormSet._construct_form() lookup with UnsupportedChildType
2017-10-08 22:33:01 +02:00
Diederik van der Boor 4d5fb4be3b fix indenting 2017-10-08 21:53:02 +02:00
Diederik van der Boor 3fe17d7a23 Provide helpful assistence to migrate code to new 1.0+ format
This makes sure the changes in 4dc20a0213
don't cause a new range of bug reports, for things like "reverse()" no
longer works.
2017-10-08 19:40:39 +02:00
Diederik van der Boor 30630647c4 Add extra comment why deferred fields are skipped with ___ lookups 2017-09-30 20:26:52 +02:00
Diederik van der Boor 2e16112cbe Merge branch 'fix-defer-childs-same-polymorphic-parent' into master 2017-09-30 20:26:37 +02:00
Diederik van der Boor fb80233c5d Fix one Django-master error 2017-09-30 18:57:31 +02:00
Diederik van der Boor fab687c218 Workaround RTD error to generate the API pages 2017-09-30 18:47:03 +02:00
Diederik van der Boor 7d506ed6af docs: update changelog 2017-09-30 18:44:25 +02:00
Diederik van der Boor c795c18575 Add admin history, add type, and add page tests 2017-09-30 18:33:19 +02:00
Diederik van der Boor a950049356 Improved and added more admin test cases 2017-09-30 18:16:59 +02:00
Diederik van der Boor ff4dadb83d Fixed allow_failures 2017-09-30 17:50:28 +02:00
Diederik van der Boor 8d4cb9b151 Added rudimentary admin test cases 2017-09-30 17:47:02 +02:00
Diederik van der Boor 8caac2e57b Fixed the polymorphic inline script code.
Got broken in 0c7b1aa657 when removing
Djagno 1.8 compatibility
2017-09-30 16:50:12 +02:00
Diederik van der Boor 9f6e0716f6 Fix deleteText of |as_script_options 2017-09-30 16:46:26 +02:00
Diederik van der Boor c437524876 Improve docs of PolymorphicChildModelAdmin attributes 2017-09-30 16:35:21 +02:00
Diederik van der Boor cf0cb2478f Make the admin base_model setting optional.
It can be detected using get_base_polymorphic_model()
2017-09-30 16:35:02 +02:00
Diederik van der Boor 19497960c7 Fixed template settings in example app 2017-09-30 16:33:52 +02:00
Diederik van der Boor 04d4181e17 Added get_base_polymorphic_model() to detect the common base class for a polymorphic model. 2017-09-30 16:21:21 +02:00
Diederik van der Boor 96209dcb14 Add long_description to setup.cfg as well.
Amends 5c54ae1782
2017-09-30 16:06:30 +02:00
Diederik van der Boor da997d9aa0 Add =py36-djangomaster-postgres to allow_failures too 2017-09-30 16:02:58 +02:00
Diederik van der Boor 77797bfa12 Ensure consistent ordering in testing reset_polymorphic_ctype
Amends: 171d14f369
2017-08-01 13:51:42 +02:00
Diederik van der Boor f82d4907a4 update changelog 2017-08-01 12:23:00 +02:00
Diederik van der Boor 171d14f369 Improve reset_polymorphic_ctype() for reliability and test it.
This function can now be safely used on a set of models.
2017-08-01 12:17:10 +02:00
Diederik van der Boor e10deeaebd Remove test imports that Django 1.5- required 2017-08-01 12:17:10 +02:00
Diederik van der Boor 244219f6f2 mention current changelog 2017-08-01 11:50:41 +02:00
Diederik van der Boor 4835cd244e Also introduce a new exception type for invalid database IDs 2017-08-01 11:44:21 +02:00
Diederik van der Boor fb8eed78ad Provide a better error message when polymorphic_ctype_id is Null
refs #51, #140, #304
2017-08-01 11:44:21 +02:00
Diederik van der Boor b772c06358 move contrib tests to separate file 2017-08-01 11:44:21 +02:00
Diederik van der Boor 9c420c4c24 Fix read the docs build
Broken by 66124a59eb
2017-08-01 11:13:09 +02:00
Diederik van der Boor 1ce58a0b54 Bump to v1.3 - note: support for old Django versions dropped! 2017-08-01 11:07:24 +02:00
Diederik van der Boor 51f33b170b Update changelog with everything found in git 2017-07-10 11:07:36 +02:00
Diederik van der Boor 67dd5c0a0d Reverted int/long change, as Django's BigIntegerField can produce longs on Python 2 2017-07-10 10:57:07 +02:00
Diederik van der Boor bcb8b0d3a4 Allow .order_by() to pass expressions unchanged
Fixes: #257
2017-05-22 12:53:20 +02:00
Diederik van der Boor 44d79b5a19 Fixed Python 2.6 support in test code 2017-05-01 12:45:43 +02:00
Diederik van der Boor 56444b0f65 Fix building documentation 2017-05-01 12:38:56 +02:00
Diederik van der Boor 21d41100df Bump to v1.2 for Django 1.11 support 2017-05-01 12:35:47 +02:00
Diederik van der Boor 9c618d8b21 Improve tests to use a unified qrepr() output 2017-05-01 12:34:49 +02:00
Diederik van der Boor 61b398115b Fixed queryset processing for real (another merge fix for pr #279) 2017-04-26 16:44:54 +02:00
Diederik van der Boor 09d785f5bb Fix infinite recursion on github editing of pr #279
Fixes: 89632483a7
2017-04-26 16:38:26 +02:00
Diederik van der Boor a8bfb5007e Fix TypeError on Python 3 when querystring is preserved in the admin.
Fixes: #263
2017-04-06 14:13:56 +02:00
Diederik van der Boor a3c9bcb14a Merge remote branch 'meshy/new-test-versions' 2017-04-06 13:57:07 +02:00
Diederik van der Boor fa74ce28e8 Start running tests on Django 1.11 (in allow_failures) 2017-04-06 12:53:18 +02:00
Diederik van der Boor d8cb700e58 Make sure tests can run in Django 1.11 2017-04-06 12:51:16 +02:00
Diederik van der Boor cd38e785b2 Add an explicit exclude for polymorphic_ctype in the PolymorphicInlineModelAdmin 2017-04-06 12:47:28 +02:00
Diederik van der Boor c2aff50ecc Fix changelog date for 1.1 2017-02-06 13:37:05 +01:00
Diederik van der Boor 132e2cfdf9 Bump to v1.1 2017-02-03 22:08:48 +01:00
Diederik van der Boor 7dc2f93148 Added plain tests for admin importing 2017-02-03 22:05:13 +01:00
Diederik van der Boor b691533039 Fix import errors with Django 1.6 code 2017-02-03 22:05:13 +01:00
Diederik van der Boor 66619371fd remove empty test_models.py file 2017-02-03 22:05:13 +01:00
Diederik van der Boor ed09e4db93 Fixed Python 2.6 issue 2017-02-03 21:44:38 +01:00
Diederik van der Boor d11bb17809 Bump to v1.1b: 2017-01-11 14:18:38 +01:00
Diederik van der Boor 04f2a62fd4 Revert get_real_concrete_instance_class_id() dry attempt
Caused by f9fffc44c1
2017-01-11 14:17:26 +01:00
Diederik van der Boor e06aa6ae80 Bump to v1.1b1 2017-01-10 17:19:44 +01:00
Diederik van der Boor 9cbfc7199b Add polymorphic_formset_tags library 2017-01-10 17:18:51 +01:00
Diederik van der Boor f9fffc44c1 Add API documentation to the package! 2017-01-09 16:53:50 +01:00
Diederik van der Boor c76cc663e0 docs: mention RunPython.noop and reset_polymorphic_ctype() 2017-01-09 15:34:45 +01:00
Diederik van der Boor cf663a0e07 Update reset_polymorphic_ctype, improve ignore_existing parameter 2017-01-09 15:32:52 +01:00
Diederik van der Boor add90aac4f Replace assertEquals -> assertEqual 2017-01-09 15:14:55 +01:00
Diederik van der Boor 1f15a72a80 Moved polymorphic models back to tests/__init__.py, for Django 1.6- 2017-01-09 15:12:26 +01:00
Diederik van der Boor 11a471ae01 Add reset_polymorphic_ctype() function to assist with migration to polymorphic 2017-01-09 14:42:41 +01:00
Diederik van der Boor b9f1709587 Update model paths in tests to new split test paths 2017-01-09 14:42:34 +01:00