Commit Graph

282 Commits (8bd040a15c79ca4738663d3b2b557aa599a2b4df)

Author SHA1 Message Date
Diederik van der Boor 75646f1f24 Bump to 0.9.2 2016-05-04 11:29:53 +02:00
Diederik van der Boor ed64ed283f Resolved deprecation warning for Django 1.10 2016-05-04 11:29:53 +02:00
NotSqrt b8c8ff7bfa Test that expressions are supported 2016-04-26 20:12:04 +02:00
Diederik van der Boor 5aa15b226e Improve code flow for Django 1.7/1.8 in patch_lookup args 2016-03-11 17:16:05 +01:00
Diederik van der Boor 88922d7d5e Fix error when using `date_hierarchy` field in the admin
Closes: #201
2016-03-11 17:13:09 +01:00
Diederik van der Boor 6319dabcef Fix trailing whitespace in query.py 2016-03-11 17:13:01 +01:00
Diederik van der Boor 84a29db2f6 Bump version to 0.9.1 2016-02-18 18:28:48 +01:00
Diederik van der Boor ccda52d91e Fixed the breadcrumb of the object_history template.
NOTE: this could conflict with projects that use django-reversion,
if the `VersionAdmin` is the last in the inheritance chain.
2016-02-18 18:17:08 +01:00
Diederik van der Boor 88bb23b506 Fix deferred loading of 'pk' field 2016-02-18 13:14:49 +01:00
Diederik van der Boor 46e41a6c1c Fix changeform_view() redirection to the child admin site.
This method is normally called from `add_view()` and `change_view()`.
However, some third party modules (such as django-reversion) call this
method directly. By redirecting those calls to the child admin, their
views also display the proper admin views.
2016-02-17 14:49:40 +01:00
Diederik van der Boor 65de1f74ab Added PolymorphicManager.from_queryset() to properly set the queryset 2016-02-17 12:36:48 +01:00
Diederik van der Boor 3bab378b25 Bump version to 0.9 2016-02-17 12:28:01 +01:00
Diederik van der Boor 14a5417891 Added yet another hack to keep the child admin site happy.
This really validates a different solution to the child admin layout,
e.g. by registering the models in the regular admin site.
2016-02-17 12:27:33 +01:00
Diederik van der Boor efdebb1575 Fix missing redirect for the history_view.
This fixes django-reversion, and partally django-reversion-compare.
2016-02-17 11:20:11 +01:00
Diederik van der Boor 01a35cfe95 Fix Django 1.9 handling of custom URLs.
The new change-URL redirect overlapped any custom URLs defined in the child admin.
This makes sure the redirect doesn't interfere with custom URLs.
2016-02-17 11:20:11 +01:00
Diederik van der Boor 4277c148aa Merge pull request #161 from theatlantic/pr-add-deferred-fields
Add support for qset.only() and qset.defer()
2016-02-17 11:14:48 +01:00
slide333333 9b7c2d72b7 Added test cases for complex expressions in aggregate/annotate 2016-01-21 15:32:28 +01:00
slide333333 c5d4687bb9 Support Django 1.8 complex expressions on aggregate/annotate 2016-01-21 13:21:21 +01:00
Frankie Dintino 6df1403de5 Add support for qset.only() and qset.defer() 2016-01-04 00:36:48 -05:00
gilgamezh b17aa58ad9 Merge remote-tracking branch 'upstream/master' into allow_extra_manager 2015-12-29 17:49:09 -03:00
Diederik van der Boor e9f549758f Bump version to 0.8.1 2015-12-29 14:55:25 +01:00
Diederik van der Boor b0657ef9c7 Fix reverse relation support for ___ filter operator 2015-12-29 14:52:58 +01:00
Diederik van der Boor 009069a32b Avoid auto-proxying all methods to the queryset.
This is unwanted behavior, and django provides much better methods for
it instead. (PolymorphicQuerySet.as_manager() / PolymorphicManager.from_queryset()
2015-12-28 17:10:58 +01:00
Diederik van der Boor 9e2c11beb8 Replace __version__.py with __init__.py
Also fixes reporting in sentry.
2015-12-28 17:10:42 +01:00
Diederik van der Boor 5191b6c130 Also remove showfields imports from __init__.py
If we're to cause pain, let it be once.
2015-12-28 17:10:42 +01:00
Diederik van der Boor 50f21dfa43 Rename manager.py => managers.py for consistency 2015-12-28 17:10:42 +01:00
Diederik van der Boor 07242d210f Fix "Model" __ "_field" query support
Broken by 24e6b21204 for Django 1.9
upgrade
2015-12-28 16:19:27 +01:00
Diederik van der Boor b7431b2d06 Fix PEP8 block comment issues (E265) 2015-12-28 15:16:42 +01:00
Diederik van der Boor aaf06c71a5 Fix PEP8 whitespace issues
autopep8 -r polymorphic/ example/ -i
--select=E112,E113,E115,E116,E122,E123,E125,E127,E128,E201,E202,E203,E211,E225,E226,E227,E228,E231,E251,E261,E262,E271,E272,E273,E274,E301,E302,E303,E304,E309,E711,E713,W291,W293,W391
--exclude migrations,south_migrations

(line conditiation fixes: E123,E125,E122,E127,E128)
2015-12-28 15:16:29 +01:00
gilgamezh f419e37ab3 Allow to set a 'extra' custom manager withut override the _default_manager 2015-12-23 21:07:44 -03:00
Jonas Haag 4da67a0fb6 Fix an issue with '.values()' queries 2015-12-16 10:31:36 -03:00
Jonas Haag 0b87a5ecc8 Fixed a Python >= 3.7 incompatibility (see PEP 479) 2015-12-16 10:31:36 -03:00
Jonas Haag ee2e0a95ea Extend comment about admin URL patching 2015-12-16 10:31:36 -03:00
Hugo Osvaldo Barrera fb32b97b37 Remove obsolete compatibility code comment 2015-12-16 10:31:36 -03:00
Hugo Osvaldo Barrera e73a4662c3 Prevent infinite redirection on django1.9
See here[1] as to why this is an issue, and why we can skip the avoided
code on django>=1.9.

[1]: https://docs.djangoproject.com/en/1.9/releases/1.9/#django-contrib-admin
2015-12-16 10:31:36 -03:00
Jonas Haag 6cf187b2de Fix Django < 1.8 compatibility 2015-12-16 10:31:36 -03:00
Jonas Haag 24e6b21204 Fix a handful of warnings and remove some unused compatibility code 2015-12-16 10:31:36 -03:00
Hugo Osvaldo Barrera adcad20b48 Update all tests (and runtests.py) 2015-12-16 10:31:36 -03:00
Hugo Osvaldo Barrera b996d1c377 Avoid broken references to declared_fieldset
Check if this attribute exists first, since it does not in recent django
versions.
2015-12-16 10:31:33 -03:00
Hugo Osvaldo Barrera ad5ce60158 Remove reference to obsolete request.REQUEST 2015-10-21 22:27:00 -03:00
Hugo Osvaldo Barrera 31bfe8d1e7 Remove deprecated django.conf.urls.patterns 2015-10-21 22:18:21 -03:00
Hugo Osvaldo Barrera c48d4f589b Don't import models and managers in __init__
This is deprecated as of django 1.8, and does not work as of django 1.9.
2015-10-21 22:11:06 -03:00
Gavin Wahl 0c940bd795 SingleRelatedObjectDescriptor was renamed in Django 1.9 2015-10-13 13:22:13 -06:00
Gonzalo Bustos 83eec48d27 add spanish translation 2015-10-12 11:44:01 -03:00
Diederik van der Boor c8973d1fba Fixed Python 2.6 tests, and fixed tox.ini from PR #162 for python 3 2015-10-01 14:35:34 +02:00
Diederik van der Boor ce4b9348ec Bump version to 0.7.2 to release a few minor bugfixes 2015-10-01 14:26:28 +02:00
Diederik van der Boor 2ffbd51844 Added as_manager() support for querysets 2015-10-01 14:26:28 +02:00
Diederik van der Boor d85664f0b7 Optimize PolymorphicModel attribute access, only use __getattribute__ hack when needed. 2015-10-01 14:03:33 +02:00
Diederik van der Boor fdf905d91b Merge pull request #156 from svleeuwen/patch-1
Fix Pickle exception when polymorphic model is cached
2015-10-01 14:02:12 +02:00
Tai Lee bcc39a9086 Raise Http404 if object does not exist. 2015-09-22 09:55:03 +10:00
Sander van Leeuwen ed55ceb7fa Fix Pickle exception when polymorphic model is cached
fixes issue #155
2015-09-04 16:51:22 +02:00
Diederik van der Boor 1979ee6079 Remove unused import after merging #139 2015-08-04 16:13:06 +02:00
Martin Maillard 941e447ed0 Use parent admin site class for child admin site
Using the ``AdminSite`` class directly can cause issues when the parent
model is registered with a custom admin site class.
2015-06-08 14:04:26 +02:00
Diederik van der Boor 7a29c3972c Bump version to 0.7.1 2015-04-30 11:40:14 +02:00
Diederik van der Boor 1ff5f148b6 Fixed Django 1.8 support for related field widgets.
The RelatedFieldWidgetWrapper tries to resolve the "change" url with
"__fk__" as ID value, which broke with our strict pk_regex
2015-04-30 11:39:13 +02:00
Diederik van der Boor 9d68dee7dd __version__.py: reference PEP 440 instead. 2015-04-30 11:35:34 +02:00
Diederik van der Boor 07e1ff90a8 Bump versions to 0.7 2015-04-08 14:08:47 +02:00
Diederik van der Boor 5f4e6e18ba Fix missing import 2015-04-08 13:49:10 +02:00
tyaslab 135feaf905 fixed 'source_expressions'
(cherry picked from commit 9a34a2a5017499bb12512b2387de49aa2c40fc88)
2015-04-08 13:44:35 +02:00
Diederik van der Boor 640461216b Merge pull request #127 from warrd/master
Issue with related_name in polymorphic_ctype field
2015-04-08 13:40:28 +02:00
Diederik van der Boor 9ef7ccb65e Fixed long/int issue for Python 3.
This closes #126 with a fix that won't degrate Python 2 code.
2015-04-08 13:38:26 +02:00
Diederik van der Boor 9efc5cfcb2 Merge pull request #124 from benkonrath/fix-admin-500-error
Don't remove '/' from id when it's not in the path
2015-04-08 13:35:25 +02:00
Diederik van der Boor 17c2445e39 Merge pull request #120 from theatlantic-pr/cleanup-test-noise
Conflicts:
	polymorphic/tests.py
2015-04-08 13:33:54 +02:00
Diederik van der Boor 2b78b92cc6 Merge pull request #121 from luisza/master
Fixed preserved filter for django 1.7
2015-04-08 13:25:17 +02:00
Diederik van der Boor c947c3dec1 Merge pull request #119 from theatlantic/child-model-custom-pk-bug
Bug with queryset results on base model where child model has a custom primary key
2015-04-08 13:09:35 +02:00
Diederik van der Boor d16d989e91 Merge pull request #118 from theatlantic/_default_manager-instance-fix
Set _default_manager directly on model_cls; don't use add_to_class()
2015-04-08 13:06:12 +02:00
Nick Ward 90933184e9 Modified polymorphic_ctype related_name to be valid 2015-03-11 16:33:19 +00:00
Ben Konrath 2a8a16edb8 Don't remove '/' from id when it's not in the path 2015-03-02 11:24:50 +01:00
Luis Zárate 727df8bd3d Fixed preserved filter for django 1.7
The problem occurs when you have a filter and create o delete a child, when is back to change list
the filter is lost, and have a e=-1 as a get parameter
2015-02-09 08:15:42 -06:00
Frankie Dintino 1be1fc02db Fix missing items bug in qset on child of PolymorphicModel w custom pk
fixes #66
2015-01-31 17:11:03 -05:00
Frankie Dintino ad63c6a442 Test missing items bug in qset on child of PolymorphicModel w custom pk
refs #66
2015-01-31 17:10:57 -05:00
Frankie Dintino fd24863db5 Cleanup tests by removing spurious errors and unnecessary noise
- Remove diamond inheritance tests since these test a bug in Django,
  not in django_polymorphic.
- Fix spurious print message in test_primary_key_custom_field_problem(),
  where uuid instances are for some reason being compared to uuid.UUID
  classes. Replaced with a test that checks that the primary key values
  are valid UUIDs.
- Remove Django > 1.6 conditionals wrapping the multiple inheritance
  tests and model definitions, in favor of using the definitions for
  Django 1.7. Django 1.7 requires a custom primary key when using concrete
  model inheritance because failing to do so is potentially ambiguous. Adding
  the custom primary key does not break tests in older Django versions.
2015-01-31 16:59:55 -05:00
Frankie Dintino a3d9379876 Set _default_manager directly on model_cls; don't use add_to_class()
Using model_cls.add_to_class() calls Manager.contribute_to_class(),
which then sets the attribute to an instance of ManagerDescriptor. In
the case of _default_manager, this behavior differs from Django's, as
_default_manager is set to the manager instance itself, not its
descriptor. This is why it is normally possible to access default_manager
from a model instance.

fixes #96
2015-01-31 13:17:56 -05:00
Chris Barna d56d9bfd15 Add tests for instance._default manager. Refs #96 2015-01-31 13:17:56 -05:00
ellmetha 469d063cc9 Django 1.8 alpha support 2015-01-28 00:41:34 +01:00
Diederik van der Boor ca6fba91ba PEP8-ify PR #67 and fix trailing whitespace
Camp rule: leave things in a better state then you found it.
2014-12-30 13:36:25 +01:00
Diederik van der Boor 261e382556 Merge pull request #67 from hottwaj/parent_link_support
parent_link and related_name support for inheritance fields
2014-12-30 13:34:16 +01:00
Diederik van der Boor 4d526d8780 Simplify selecting get_queryset() vs get_query_set() -> use self.all() 2014-12-30 13:25:22 +01:00
Diederik van der Boor 4bddac7c70 Fix validate_model_fields(), caused errors when metaclass raises errors 2014-10-29 18:58:54 +01:00
Diederik van der Boor aead57c037 Fix Django 1.4/1.5 issues with RelatedManager code that overrides get_query_set()
Make sure the `RelatedManager.get_query_set()` is called, which limits
the set, instead of calling `self.get_queryset()` which then returns a new queryset.

Fortunately, this only happened on proxied calls for unknown methods.
2014-10-16 16:07:17 +02:00
Diederik van der Boor 6d043d35d2 Bump version to 0.6.1 already 2014-10-14 17:32:40 +02:00
Diederik van der Boor 948749dbdb Remove Django 1.7 warnings 2014-10-14 17:30:25 +02:00
Diederik van der Boor c9e232a79b Bump version to 0.6 2014-10-14 16:29:30 +02:00
Diederik van der Boor 84791daf47 Merge pull request #99 from benkonrath/admin_class_permissions
Use admin class function to check permissions.
2014-09-22 16:03:55 +02:00
Diederik van der Boor 981614e5c6 Merge branch 'django_1.7_support' of https://github.com/g3rd/django_polymorphic
Conflicts:
	docs/managers.rst
	polymorphic/admin.py
	polymorphic/manager.py
	polymorphic/tests.py
	runtests.py
2014-09-22 15:42:35 +02:00
Diederik van der Boor ff6b09e7c7 admin: split get_queryset() / queryset() methods.
avoid calling loops due to some inherited classes
2014-09-22 15:14:32 +02:00
Diederik van der Boor cf6d2a4a41 Replace get_query_set with assignment.
Avoid calling the super class by accident, potentially causing loops.
Follow the django-mptt approach here.
2014-09-22 15:00:29 +02:00
Diederik van der Boor ea160669cf Merge pull request #91 from mlsen/master
Django 1.8 compatibility
2014-09-22 14:51:03 +02:00
Chad Shryock cc53b3003e Remove exception. 2014-09-17 08:30:12 -04:00
Chad Shryock b9654b7138 Missing return. 2014-09-17 08:26:28 -04:00
Chad Shryock 734752c2e7 Django 1.7 upgrades 2014-09-16 22:11:13 -04:00
Ben Konrath 6aa9d7cc3a Use admin class function to check permissions. 2014-09-11 15:18:40 +02:00
Chad Shryock af4843e54b Cleared up the Django 1.8 Warning messages. 2014-09-10 23:13:51 -04:00
Ben Konrath ec5ce49d81 Use consistent labels in admin. 2014-08-04 15:05:13 +02:00
Diederik van der Boor 14df8c529e Move the get_permission_codename import to the main code.
cc #93
2014-07-29 12:15:09 +02:00
Kevin Armenat 029bb2ae1a added django < 1.6 compatibilty for permission codename generation 2014-07-29 11:15:38 +02:00
Kevin Armenat 6ce390f777 added permission check for all child types 2014-07-29 09:47:23 +02:00
Marius Lueck d755d257ef Changed super call of get_queryset to queryset 2014-07-25 22:55:58 +02:00
Marius Lueck fb1795ad12 Fixed compatibility with django 1.8 2014-07-25 11:48:07 +02:00
Diederik van der Boor 831075c3c7 bump version to 0.5.6 2014-07-21 11:42:26 +02:00