Commit Graph
100 Commits
Author SHA1 Message Date
Diederik van der Boor db864cd8a8 Corrected black code wrapping when lines had long comments. 2019-07-15 18:10:05 +02:00
Diederik van der Boor 6af023dafd Added unit test for refresh_from_db() 2019-07-15 17:56:53 +02:00
Diederik van der Boor 263fb6567b Add docs badge 2019-07-15 10:35:17 +02:00
Diederik van der Boor f0c34297f4 Bump to v2.1.1 2019-07-15 10:20:28 +02:00
Diederik van der Boor 407679895f Fixed import error in the admin due to isort 2019-07-15 10:19:10 +02:00
Diederik van der Boor 5c33a03c7c Upgrade docs requirements to avoid security warnings 2019-07-15 10:13:33 +02:00
Diederik van der Boor 3422dee676 Bump to v2.1 2019-07-15 09:54:59 +02:00
Diederik van der Boor 59c020ee50 Reformat all files with isort and black 2019-07-15 09:50:15 +02:00
Diederik van der Boor d314dce4a2 Fix building docs 2019-07-15 09:45:09 +02:00
Diederik van der Boor 8c8a920433 Remove dead/unused/unreachable get_first_user_defined_manager() code in metaclass 2019-07-12 18:14:40 +02:00
Diederik van der Boor 02a40cbb0b Update changelog 2019-07-12 18:09:28 +02:00
Diederik van der Boor 49f89ffb21 Fix random unit test failing due to model ordering 2019-07-12 17:53:16 +02:00
Diederik van der Boor 8fb8f47fb0 Fix compatibility with Django 3.0 alpha
Removed django.utils.six dependency, copied the parts we still need for
Python 2 compatibility.
2019-07-12 17:39:59 +02:00
Diederik van der Boor 7a315f7c17 Stop testing for Python 3.4 (deprecated)
also stop python 3.5 on django-master (which django doens't support)
2019-07-12 16:18:20 +02:00
Diederik van der Boor c160556639 Merge PR #259 logic in a Django compatible way 2019-07-12 12:12:04 +02:00
Diederik van der Boor 17e41c4f7f Rewrite translate_polymorphic_field_path() avoid closures
Inspired by PR #259 to look at this
2019-07-12 12:12:04 +02:00
Diederik van der Boor f769ed7568 Fix dealing with missing derived table data with new prefetching code 2019-07-12 10:01:40 +02:00
Diederik van der Boor 3d9587acfb Merge PR #353 2019-07-12 09:45:21 +02:00
Diederik van der Boor 4f89a879c0 Add tests for missing content types 2019-07-12 09:43:11 +02:00
Diederik van der Boor ec3fb34f08 Merge pull request #365 from ghost/fix/37-subclass-selector-on-abstract-proxy-models
#37: Fix model subclass ___ selector for abstract/proxy models
2019-07-11 22:12:24 +02:00
Diederik van der Boor 25f4dbb9cd Restore single if-statement of PR #369 change 2019-07-11 22:10:42 +02:00
Diederik van der Boor a1c779a295 Merge pull request #369 from marksweb/fix/202
Raise `PolymorphicTypeInvalid` instead of cause `TypeError`
2019-07-11 22:09:14 +02:00
Diederik van der Boor 02a7530e83 Merge pull request #370 from ShaheedHaque/srh_issue_367_update_extra_views
Restore compatibility with current versions of extra-views (issue #367).
2019-07-11 22:04:58 +02:00
Diederik van der Boor f9492a12a8 Merge pull request #371 from tumb1er/replace_iterable_class
replace iterable class in qs.non_polymorphic
2019-07-11 22:03:07 +02:00
Diederik van der Boor 26fac56e31 Squash Merge PR #379 for Django 2.2 support
Author: Asif Saif Uddin <auvipy@gmail.com>
Author: jeff <jeff@mighty.com>
2019-07-11 21:57:46 +02:00
Diederik van der Boor 622e1e780b Fix media-combining in formsets on Django 2.2 2019-07-11 21:38:33 +02:00
Diederik van der Boor 0f9dbe05b0 Run tests on Django 2.2 2019-07-11 21:35:43 +02:00
Diederik van der Boor 41fd1fba37 Fix SQLite3 build errors on travis 2019-07-11 21:22:52 +02:00
Diederik van der Boor 9042fdd689 Replace instance_of OR query with IN statement 2018-08-24 11:16:30 +02:00
Diederik van der Boor 3d014a482c remove python 3.7 from travis builds as this is not supported yet 2018-08-24 00:13:39 +02:00
Diederik van der Boor 545bf7d49d Bump to v2.0.3 for Django 2.1 support 2018-08-24 00:09:21 +02:00
Diederik van der Boor 9a0268f7de Fixed example app to run in Django 2.1 2018-08-24 00:06:20 +02:00
Diederik van der Boor b95e621ab1 fix travis 2018-08-23 17:24:18 +02:00
Diederik van der Boor 2d5603c74d Add Python 3.7 to the build matrix 2018-08-23 17:21:19 +02:00
Diederik van der Boor 2d1ad3f773 Add Django 2.1 to the build matrix 2018-08-23 17:18:51 +02:00
Diederik van der Boor 374afc3eac Fixed Django 2.1 error due to missing use_required_attribute=False for empty forms
This attribute is supported as of Django 1.10, so adding it without
conditional Django version checks.

Fixes #360
2018-08-23 17:18:43 +02:00
Diederik van der Boor 5f50aa1dca fix test warnings about \d+ escape 2018-08-23 14:24:32 +02:00
Diederik van der Boor 63c33d595a Further highlight the differences between 1.3.1 and 2.0 2018-04-16 11:56:51 +02:00
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