Venelin Stoykov
c3c9a712fa
Fix ManyRelatedField.choices
...
Use choices from self.child_relation.
We don't need to repeat ourself because can get out of sync.
2015-06-29 15:35:55 +03:00
José Padilla
7351a3f6ca
Sort imports with isort
2015-06-25 16:55:51 -04:00
José Padilla
83c9136c90
Cleanup import following PEP 8 style guide
2015-06-25 16:10:17 -04:00
Tom Christie
47765bc429
Merge pull request #3034 from m-vellinga/master
...
Use get_queryset() for RelatedField choices property
2015-06-25 16:41:43 +01:00
Brian Grohe
51cda112f5
Simplified if statement to one line solution
...
Based on feedback on the pull request, changed solution to
be simpler for issue 3042
2015-06-19 09:21:35 -04:00
Brian Grohe
d24990ece2
Fixed many=False issue in related fields
...
Added check to pop many from kwargs before passing to __init__
Fixed my lint issue from the previous commit
2015-06-17 13:48:34 -04:00
Thomas Stephenson
a1e0bae9da
Custom serialization of PrimaryKeyRelatedField values
...
Adds a 'pk_field' parameter which can be used to proxy serialization and
deserialization of arbitrary primary key values.
2015-06-15 04:43:49 +10:00
Tom Christie
b1b47036d7
Use six.text_type for hyperlink names
2015-06-03 11:53:27 +01:00
Tom Christie
90f2e26679
Add Hyperlink and rendering in admin style renderer
2015-06-03 11:00:38 +01:00
Marco Vellinga
478b1dbd06
Use get_queryset() for RelatedField choices property instead of self.queryset.all()
2015-05-11 15:28:10 +02:00
Devon Bleibtrey
b1c1867b16
Swapping to hassattr logic for pk attribute references in relations
2015-03-23 11:40:33 -04:00
Devon Bleibtrey
7ac3c3fff7
Added enhancement for pk reference in many=True relations
2015-03-23 10:42:42 -04:00
Devon Bleibtrey
8a58b1a380
Added ability to define backend identification attribute
2015-03-22 13:50:05 -04:00
Matt d'Entremont
fb58ef043c
Add support for serializing models with m2m related fields
...
- In both ManyRelatedField, provide an empty return when trying to
access a relation field if the instance in question has no PK (so
likely hasn't been inserted yet)
- Add relevant tests
- Without these changes, exceptions would be raised when trying to
serialize the uncreated models as it is impossible to query
relations without a PK
- Add test to ensure RelatedField does not regress as currently
supports being serialized with and unsaved model
2015-03-06 12:50:37 -04:00
Tom Christie
e1c4513312
Fix NamespaceVersioning with hyperlinked serializer fields
2015-02-05 00:58:09 +00:00
Brandon Cazander
77d061d234
Provide rest_framework.resolve. Fixes #2489
2015-02-02 20:37:33 -08:00
Tom Christie
4ee4b4f2dc
Merge master
2015-01-30 14:00:25 +00:00
Susan Dreher
8c3f82fb18
🐛 ManyRelatedField get_value clearing field on partial update
...
A PATCH to a serializer's non-related CharField was clearing an ancillary StringRelatedField(many=True) field.
The issue appears to be in the ManyRelatedField's get_value method, which was returning a [] instead of empty
when the request data was a MultiDict.
This fix mirrors code in fields.py, class Field, get_value, Ln. 272, which explicitly returns empty on a partial update.
Tests added to demonstrate the issue.
2015-01-27 16:18:51 -05:00
Tom Christie
6065cdbd93
Merge master
2015-01-19 15:16:57 +00:00
Tom Christie
4ce4132e08
Preserve ordering on relationship drop-down choices. Closes #2408 .
2015-01-14 12:56:03 +00:00
Craig Blaszczyk
91e316f781
prefer single quotes in source and double quotes in user visible strings; add some missing full stops to user visible strings
2015-01-07 12:46:23 +00:00
Craig Blaszczyk
9a4267049b
use double quotes in user messages
2015-01-07 12:33:37 +00:00
Craig Blaszczyk
4c32083b8b
use double quotes for user visible strings; end user visible strings in full stops; add some missing translation tags
2015-01-07 12:01:11 +00:00
Tom Christie
426547c61c
str() -> six.text_type(). Closes #2290 .
2014-12-17 13:39:35 +00:00
Tom Christie
1e336ef30d
Move comment
2014-12-10 22:10:45 +00:00
Tom Christie
9d3810f313
Drop get_iterable()
2014-12-10 22:09:24 +00:00
Tom Christie
ca7b1f6d51
Optimizations play nicely with select_related, prefetch_related
2014-12-10 21:09:45 +00:00
Tom Christie
720a37d3de
Hyperlinked PK optimization. Closes #1872 .
2014-12-09 17:28:56 +00:00
Tom Christie
4034793383
Added missing translation markers in realtions.py. Closes #2231 .
2014-12-08 15:13:59 +00:00
Tymur Maryokhin
d9930181ee
Removed unused imports, pep8 fixes, typo fixes
2014-12-05 00:29:28 +01:00
Tymur Maryokhin
95af92ca01
Removed custom urlparse compat
2014-12-04 15:47:42 +01:00
Tymur Maryokhin
d54c67d79d
Removed custom StringIO, force_text, smart_text compat
2014-12-04 03:11:42 +01:00
Tom Christie
786cab705a
Tweak to 3.0 relationship docs
2014-11-26 11:38:48 +00:00
Tom Christie
b4550c65dd
Docstring for 'many_init'
2014-11-26 11:30:28 +00:00
Tom Christie
992330055e
Refactor many
2014-11-13 21:11:13 +00:00
Tom Christie
fd97d9bff8
Use select inputs for relationships. Closes #2058 .
2014-11-13 19:35:03 +00:00
Tom Christie
51d86a6505
Support dotted source on relational fields
2014-11-07 16:05:07 +00:00
Tom Christie
49fae23000
Pass through kwargs to both Serializer and ListSerializer
2014-11-05 15:23:13 +00:00
Tom Christie
3af5df1955
Performance for PK fields
2014-10-16 20:47:57 +01:00
Tom Christie
5d247a65c8
First pass on nested serializers in HTML
2014-10-09 15:11:19 +01:00
Tom Christie
f7d43f530a
Limit blank string -> None to just be on relational fields
2014-10-08 17:03:14 +01:00
Tom Christie
4c015df28c
Tweaks
2014-10-08 16:43:33 +01:00
Tom Christie
6b09e5f2bb
Tests for generic relationships
2014-10-08 11:22:10 +01:00
Tom Christie
01c0857f8b
Merge branch 'version-3.0' of https://github.com/tomchristie/django-rest-framework into version-3.0
2014-10-03 13:12:43 +01:00
Tom Christie
765b0b33bf
Revert accidental stupidity
2014-10-03 13:12:23 +01:00
Tom Christie
dd47d8aa45
Merge pull request #1921 from koordinates/fix-typos
...
Minor: fix spelling and grammar, mostly in 3.0 announcement
2014-10-03 09:24:26 +01:00
Craig de Stigter
857a8486b1
More spelling tweaks
2014-10-03 09:00:33 +13:00
Craig de Stigter
dfab9af294
Minor: fix spelling and grammar, mostly in 3.0 announcement
2014-10-03 08:41:18 +13:00
Tom Christie
fec7c4b458
Browsable API tweaks
2014-10-02 18:13:15 +01:00
Tom Christie
df7b6fcf58
First pass on incorperating the form rendering into the browsable API
2014-10-02 16:24:24 +01:00
Tom Christie
ffc6aa3abc
More forms support
2014-10-01 21:35:27 +01:00
Tom Christie
381771731f
Use six.text_type instead of str everywhere
2014-10-01 13:09:14 +01:00
Tom Christie
64632da371
Clean up bind - no longer needs to be called multiple times in nested fields
2014-09-25 11:40:32 +01:00
Tom Christie
106362b437
ModelSerializer.create() to handle many to many by default
2014-09-18 14:58:08 +01:00
Tom Christie
9fdb2280d1
First pass on ManyRelation
2014-09-18 14:23:00 +01:00
Tom Christie
5b7e4af0d6
get_base_field() refactor
2014-09-18 11:20:56 +01:00
Tom Christie
0ac52e0808
Use Resolver404 instead of base Exception
2014-09-12 17:06:37 +01:00
Tom Christie
b73a205cc0
Tests for relational fields (not including many=True)
2014-09-12 17:03:42 +01:00
Tom Christie
250755def7
Clean up relational fields queryset usage
2014-09-12 10:59:51 +01:00
Tom Christie
0d354e8f92
to_internal_value() and to_representation()
2014-09-12 09:49:35 +01:00
Tom Christie
c1036c1753
More test passing
2014-09-03 16:34:09 +01:00
Tom Christie
f2852811f9
Getting tests passing
2014-09-02 17:41:23 +01:00
Tom Christie
ec096a1cac
Add relations and get tests running
2014-09-02 15:07:56 +01:00
Tom Christie
4ac4676a40
First pass
2014-08-29 16:46:26 +01:00
Tom Christie
e5e6329a22
Remove pk_url_field
, slug_url_field
, slug_field
.
...
Closes #1773 .
2014-08-29 11:29:26 +01:00
Tom Christie
d2795dd26d
Resolve linting issues
2014-08-19 13:54:52 +01:00
Xavier Ordoquy
d08536ad9d
Merge remote-tracking branch 'origin/master' into 2.4.0
...
Conflicts:
.travis.yml
docs/api-guide/fields.md
docs/api-guide/routers.md
docs/topics/release-notes.md
rest_framework/authentication.py
rest_framework/serializers.py
rest_framework/templatetags/rest_framework.py
rest_framework/tests/test_authentication.py
rest_framework/tests/test_filters.py
rest_framework/tests/test_hyperlinkedserializers.py
rest_framework/tests/test_serializer.py
rest_framework/tests/test_testing.py
rest_framework/utils/encoders.py
tox.ini
2014-04-13 00:05:57 +02:00
Carlton Gibson
c1ac65edce
Adds test that blank option is added when required=False on RelatedFields
2014-04-09 15:51:00 +02:00
Tom Christie
4edd39b2e4
Merge pull request #1442 from Anton-Shutik/master
...
RelatedField default value handling fixed
2014-03-04 15:26:34 +00:00
Anton Shutik
3c62f0efc3
RelatedField.get_default_value: return empty list if self.many==True
2014-02-28 13:59:21 +03:00
Dustin Farris
f126856f65
Allow 'None' to pass as a null value in RelatedFields
2014-02-27 12:30:59 -05:00
Anton Shutik
1addd09e2b
RelatedField default value handling fixed
2014-02-27 18:34:36 +03:00
Xavier Ordoquy
f217f6870d
Removed useless try/except
2014-01-09 23:32:50 +01:00
Tom Christie
21cd638659
Merge master
2013-09-25 09:44:26 +01:00
Yuri Prezument
745ebeca77
Handle case where obj=None in PKRelatedField.field_to_native()
...
Fixes #1072
2013-08-31 17:20:49 +03:00
Tom Christie
9a5b2eefa9
Merge master
2013-08-30 09:28:33 +01:00
Tom Christie
10d386ec6a
Cleanup and dealing with empty form data.
2013-08-23 16:10:20 +01:00
Tom Christie
e03854ba6a
Tweaks to display nested data in empty serializers
2013-08-23 14:06:14 +01:00
Tom Christie
379ad8a824
pending deprecations -> deprecated
2013-06-27 20:36:14 +01:00
Tom Christie
3fcc01273c
Remove deprecated code
2013-06-27 20:29:52 +01:00
Tom Christie
c160e49321
Test cases and fix for plain-list relationships (ie not queryset) Closes #878 .
2013-06-04 14:05:35 +01:00
Tom Christie
8b73dce51d
view_name argument to HyperlinkedModelSerializer is now properly enforced. Closes #471
2013-06-02 19:50:24 +01:00
Tom Christie
d7753123f6
HyperlinkedModelSerializer lookup_field option should apply to HyperlinkedIdentityField
2013-05-31 11:50:37 +01:00
Tom Christie
c98ac3e83e
Added get_url hook to HyperlinkedIdentityField in line with HyperlinedRelatedField. Closes #883
2013-05-29 14:09:31 +01:00
Tom Christie
22e1950e1c
Backwards compatible approach to HyperlinkedIdentityField URLs. Closes #892
2013-05-28 12:08:36 +01:00
Tom Christie
e32a6e4211
Merge pull request #860 from andymckay/master
...
startswith can take a tuple
2013-05-18 07:17:13 -07:00
Andy McKay
aeba5bed05
startswith can take a tuple
2013-05-18 07:09:24 -07:00
Pablo Recio
392c8556ae
Display an empty label into related fields if it isn't required
2013-05-18 15:01:58 +02:00
Craig de Stigter
c56d5f8f63
Merge remote-tracking branch 'upstream/master'
2013-05-18 10:23:26 +02:00
Andy Freeland
abe207b869
HyperlinkedIdentityField uses lookup_field
kwarg.
...
According to the [Serializers API Guide][1], `HyperlinkedIdentityField`
takes `lookup_field` as a kwarg like the other related fields and the
generic views. However, this was not actually implemented.
[1]: http://django-rest-framework.org/api-guide/serializers.html#hyperlinkedmodelserializer
2013-05-16 11:48:35 -04:00
Tom Christie
538d2e35e7
lookup_field on hyperlink serializers
2013-05-05 16:47:45 +01:00
Tom Christie
e4067bfb75
introduce lookup_field and add pendingdeprecationwarnings
2013-05-02 12:07:18 +01:00
Tom Christie
35f99cddc4
lookup_field on hyperlinked fields, and overriddable hyperlinked fields. Closes #688
2013-05-01 09:03:09 +01:00
Tom Christie
dc7b1d6430
2.2's PendingDeprecationWarnings now become DeprecationWarnings. 2.3's PendingDeprecationWarnings added.
2013-04-29 12:45:00 +01:00
Tom Christie
95abe6e844
Cleanup docstrings
2013-04-25 12:47:34 +01:00
Bouke Haarsma
126a0f739d
Fixed #720
2013-03-10 21:02:34 +01:00
Craig de Stigter
84be169353
fix function names and dotted lookups for use in PrimaryKeyRelatedField.field_to_native (they work in RelatedField.field_to_native already)
2013-03-01 16:13:04 +13:00
Tom Christie
018298deb8
Relational fields use same field_to_native logic as regular fields.
...
Fixes #637 . Closes #638 .
2013-02-12 23:03:04 +00:00
Tom Christie
41ac1e8f32
Raise warnings if 'request' not in context for hyperlinked fields.
2013-02-12 13:54:50 +00:00
Marc Tamlyn
11610e7c3c
Try the correct NoReverseMatch location.
2013-02-06 13:10:54 +00:00