Bert Constantin
3cc7d483c1
minor additions in base.py
2011-01-24 16:45:58 +01:00
Bert Constantin
4a4cfd82a2
translate_polymorphic_Q_object: fixed test case, and made the function a member of PolymorphicObject.
...
Minor test fixes: warnings fixed, test_tool.py renamed as it's no test
2010-11-12 07:19:23 +01:00
Bert Constantin
f78b27dc1a
updated docs, tests, misc
2010-11-02 12:21:46 +01:00
Bert Constantin
52f32c1fc3
improved showfields.py for better and more precise output, updated tests
2010-11-02 12:21:46 +01:00
Bert Constantin
a4ac6cc91d
fix object retrieval problem occuring with some custom primary key fields
...
+ added UUIDField as test case
2010-11-02 12:21:22 +01:00
Bert Constantin
6befe6c733
added "queryset.get_real_instances()" usage, added testcase
2010-11-02 12:10:02 +01:00
Bert Constantin
8c3df56cb6
non_polymorphic() queryset member function added
2010-10-23 12:22:13 +02:00
Bert Constantin
19adbdaf2c
extra(): Re-implemented. Now is polymorphic (nearly) without restrictions.
...
Added test cases + docs.
2010-10-23 11:52:04 +02:00
Bert Constantin
6c8d28cbbc
extra(): throw error if unsupported argument is encountered, support 'params' argument, special case Django 1.1
2010-10-22 13:37:26 +02:00
Abel Daniel
486a579ac7
Make .extra() only disable polymorphic query if an arg that is currently
...
not handled is actually used. I.e. if all args are supported, then
do polymorphic query by default.
2010-10-22 13:35:50 +02:00
Bert Constantin
b2357592cb
make sure 'base_manager is not inherited (but managed by Django instead).
...
(This seems more correct but it doen't seem to make any difference.)
Also added related test cases.
2010-10-22 13:35:39 +02:00
Bert Constantin
6628145af7
removed __getattribute__ hack from PolymorphicModel.
...
A somewhat cleaner solution is now used (through __init__) which
also completely removes the performance impact of __getattribute__.
2010-10-20 09:31:42 +02:00
Bert Constantin
a87481b8b5
polymorphic_dumpdata management command functionality removed;
...
the regular Django dumpdata command now automatically works correctly
for polymorphic models and all Django versions
(this is handled by PolymorphicModelBase now).
Testing for dumpdata has been added.
2010-10-20 09:31:42 +02:00
Bert Constantin
f05b854a54
make PolymorphicQuerySet.get_real_instances() an official part of the API
2010-10-20 09:31:42 +02:00
Bert Constantin
b1905026bc
Documentation updated.
...
Test_all_versions script added.
Some minor misc changes.
Added polybench.
2010-10-20 09:31:36 +02:00
Bert Constantin
c10ff1650b
added translate_polymorphic_Q_object
2010-10-19 21:28:33 +02:00
Bert Constantin
01bdb2f9b0
- renamed ShowField* to ShowFieldType, ShowFieldContent, ShowFieldTypeAndContent, in order to reflect better what they do.
...
- by default, django_polymorphic's pretty printing of querysets/objects (via ShowField*) is not used anymore
- ShowField mixins now also show the annotations (after the regular fields, prepended by "Ann:")
- cleaned up implementation.
2010-10-19 21:28:33 +02:00
mathieusteele
50b54f5aca
removed requirement for primary key to be an IntegerField.
2010-10-14 19:14:58 -07:00
Bert Constantin
116e2af08b
IMPORTANT: import path changed, it's now: "from polymorphic import PolymorphicModel, ..."
...
- added python2.4 compatibility. Contributed by Charles Leifer. Thanks!
- general reorganization of the code - there is no single polymorphic.py module anymore,
so d-p now needs to be installed as a regular Django app
- polymorphic.VERSION/get_version added
- version numbering started: V0.5 beta
2010-02-22 16:16:00 +01:00
Bert Constantin
e6c1e7ec6e
fix "...has no attribute 'sub_and_superclass_dict'". Thanks to Mattias Brändström.
...
this occurred if a subclass defined __init__ and accessed class
members before calling the superclass __init__
(__getattribute__ had a problem, as "sub_and_superclass_dict" was set in __init__).
2010-02-18 20:18:49 +01:00
Bert Constantin
7e584632b8
fix unnecessary field-name/model-name conflicts (i.e. field_name == model_name.lower() )
...
=> __init__ + __getattribute__ now handle only the Django inheritance
references that are needed ('modela_ptr', 'modelc' etc.), avoiding
unnecessary conflicts with field names.
2010-02-18 20:05:17 +01:00
Bert Constantin
2795f7acd5
some doc + minor code updates (__repr__ + Show... mixins)
2010-02-18 20:04:38 +01:00
Bert Constantin
2fcb7fba1a
queryset order_by method added, testcase, docs
2010-02-04 16:38:58 +01:00
Bert Constantin
b4aeae417e
queryset values(), values_list(), distinct() documented; defer(), only() allowed (but not yet supported)
2010-02-04 16:14:10 +01:00
Bert Constantin
c10577c32f
queryset aggregate() and extra() methods implemented, testcases, docs
2010-02-04 15:28:55 +01:00
Bert Constantin
9e7a78a8cb
queryset annotate() method implemented, and testcase
2010-02-04 15:28:55 +01:00
Bert Constantin
a99a3b5bfc
fix remaining potential accessor name clashes (but this only works with Django 1.2+, for 1.1 no changes). Thanks to Andrew Ingram.
2010-02-04 15:28:49 +01:00
Bert Constantin
ecaed2a71f
fixed use of 'id', replaced with 'pk'
2010-02-04 15:13:44 +01:00
Bert Constantin
2e17a184c0
fix select_related bug for objects from derived classes (till now sel.-r. was just ignored)
2010-02-04 15:13:44 +01:00
Bert Constantin
2a740e9b10
doc- and minor code updates
2010-02-04 15:13:33 +01:00
Bert Constantin
c7ac78e08d
Fixed ContentType related field accessor clash (an error emitted by model validation),
...
by adding related_name to the ContentType ForeignKey. Thanks to Andrew Ingram.
This happened if a polymorphc model used a ContentType ForeignKey.
Plus minor documentation updates.
2010-01-30 14:15:52 +01:00
Bert Constantin
8bdda93e76
Restructured django_polymorphic into a regular add-on application.
...
This is needed for the management commands, and also seems
to be a generally good idea for future viablity as well.
Also misc documentation updates.
2010-01-29 13:41:19 +01:00