Tom Christie
29136ef2c6
Enforce PUT-as-create permissions
2013-02-10 16:50:46 +00:00
Tom Christie
69dcf13da9
Bugfix for DjangoModelPermissions. Fixes #437
...
Turns out that Django's default permissions backend always returns
False when checking object-level permissions, even if the user does
have valid global permissions.
2013-02-10 16:43:52 +00:00
Tom Christie
4c8bd40465
Tests for DjangoModelPermissions.
2013-02-10 16:42:24 +00:00
Tom Christie
670ac25b25
Allow serializers to handle dicts as well as objects. Fixes #447 .
2013-02-07 12:57:40 +00:00
Tom Christie
8113d66126
Use new style of required=<bool>
not blank
or null
2013-02-07 09:24:34 +00:00
Tom Christie
5813a09512
Use new many=True relations style.
2013-02-07 09:14:58 +00:00
Tom Christie
c18fb0d695
Added a post_save
hook. Closes #558 .
2013-02-06 21:28:03 +00:00
Tom Christie
123c6cbc7c
Merge pull request #640 from mjtamlyn/remove-naked-excepts
...
Purge naked excepts.
2013-02-06 05:21:01 -08:00
Marc Tamlyn
11610e7c3c
Try the correct NoReverseMatch location.
2013-02-06 13:10:54 +00:00
Marc Tamlyn
bd7977eed7
Purge naked excepts.
...
Most of these had obvious exceptions which would be thrown. Some I'm not
sure about but they should at least catch only Exception so as not to
ignore SystemExit and other inappropriate Error classes.
2013-02-06 13:05:17 +00:00
Tom Christie
55fd646631
Set many explicitly from mixins. Refs #564 .
2013-02-06 13:04:11 +00:00
Tom Christie
4788c87b76
Fix mismatch between template blocks and docs.
...
Fixes #639 .
2013-02-06 12:35:05 +00:00
Tom Christie
efb798cebc
Don't deprecate 'exclude'
...
Need to track outcome of Django's #19733 , and decide on approach
accordingly.
2013-02-06 08:48:41 +00:00
Tom Christie
7dc4bce4e2
Fix 2.6 compat
2013-02-04 21:35:47 +00:00
Tom Christie
937ef00808
Merge branch 'master' into 2.2
2013-02-04 21:19:11 +00:00
Tom Christie
221e77d357
Fix incorrect test name. Fixes #635
2013-02-04 21:18:54 +00:00
Tom Christie
0a38bc9db8
Deal with parser encodings properly
2013-02-04 21:16:34 +00:00
Tom Christie
b052c92ac3
Cleanup imports
...
Mostly adding `from __future__ import unicode_literals` everywhere.
2013-02-04 20:55:35 +00:00
Tom Christie
b82227e517
remove broken import
2013-02-04 20:38:18 +00:00
Tom Christie
8e846bdf52
Merge branch 'py3k' into 2.2
...
Conflicts:
rest_framework/relations.py
rest_framework/serializers.py
rest_framework/tests/relations_hyperlink.py
rest_framework/tests/relations_slug.py
2013-02-04 20:37:09 +00:00
Tom Christie
97f2b99495
Don't use deprecated xml style
2013-02-04 19:51:50 +00:00
Tom Christie
2c634c0e5c
Use request.QUERY_PARAMS internally
...
(instead of request.GET)
2013-02-04 19:51:31 +00:00
Tom Christie
00752dcd2a
Py3k cleanup
2013-02-01 15:07:51 +00:00
Tom Christie
f4f237e3ee
3.2, 3.3 compat
2013-02-01 14:03:28 +00:00
Tom Christie
d9c7b1c585
Merge branch 'p3k' of https://github.com/linovia/django-rest-framework into working
...
Conflicts:
rest_framework/authentication.py
rest_framework/relations.py
rest_framework/serializers.py
rest_framework/settings.py
rest_framework/tests/authentication.py
rest_framework/tests/genericrelations.py
rest_framework/tests/generics.py
rest_framework/tests/relations_hyperlink.py
rest_framework/tests/relations_nested.py
rest_framework/tests/relations_pk.py
rest_framework/tests/serializer.py
2013-02-01 11:58:55 +00:00
Tom Christie
d9b73e15c8
Serializers take many=<bool>
argument.
2013-01-31 17:06:23 +00:00
Tom Christie
f1e665673f
Tidying
2013-01-30 20:38:11 +00:00
Tom Christie
e4ac566625
Add dprecation warnings
2013-01-30 20:33:50 +00:00
Tom Christie
e24d29ec05
Tweak empty list implementation
2013-01-30 14:21:18 +00:00
Tom Christie
be6df3ae3c
Merge branch 'master' into many-fields
...
Conflicts:
rest_framework/relations.py
2013-01-30 13:41:56 +00:00
Tom Christie
9a4d01d687
Formatting fixes
2013-01-30 12:41:26 +00:00
Tom Christie
4601487248
Use many=True style for pk relations.
2013-01-30 12:41:18 +00:00
Fernando Rocha
41364b3be0
Added regretion test for issue #632
...
Signed-off-by: Fernando Rocha <fernandogrd@gmail.com>
2013-01-30 09:22:36 -03:00
Fernando Rocha
fceacd830f
Fix processing of ManyToManyField when it is empty
...
Signed-off-by: Fernando Rocha <fernandogrd@gmail.com>
2013-01-29 18:46:05 -03:00
Andrea de Marco
85e6360792
Update rest_framework/serializers.py
2013-01-28 22:08:40 +01:00
Tom Christie
a3a06d11cc
Ensure model field validation is performed for ModelSerializers with a custom restore_object method. Fixes #623 .
2013-01-28 12:56:42 +00:00
Michael Elovskikh
cb5cc70cba
Login page styles fix. Closes #618 . Made with 🍪
2013-01-28 18:01:44 +06:00
Tom Christie
b5d8f50f9d
Merge branch 'master' into many-fields
2013-01-26 21:37:43 +00:00
Tom Christie
a75db4cfb8
Version 2.1.17
2013-01-26 20:59:15 +00:00
Tom Christie
4d43e9f7de
Test for custom pagination serializers. Also refs #604 .
2013-01-26 20:55:09 +00:00
Tom Christie
a51bca32fd
Fix issues with custom pagination serializers
2013-01-26 20:54:41 +00:00
Tom Christie
b41f258ee5
Serializers should accept source='*' argument. Fixes #604 .
...
(Test also incoming)
2013-01-26 20:54:03 +00:00
Tom Christie
b783887c33
Test for GFK, using RelatedField. Refs #607 .
2013-01-25 14:36:27 +00:00
Tom Christie
b73d7e9bb4
Cleaning up GFK test module. Refs #607 .
2013-01-25 13:58:19 +00:00
Tom Christie
d6628d4e78
Test for #552 .
2013-01-24 08:58:19 +00:00
Tom Christie
4a4fe60e33
Merge pull request #603 from minddust/validation_error
...
Add failed testcase for fieldvalidation + fix
2013-01-23 01:21:26 -08:00
Tom Christie
b7abf14d3a
Pass PaginationSerializer context through to child ModelSerializer on init. Fixes #595 . Fixes #552 .
2013-01-23 07:38:13 +00:00
Stephan Groß
69e62457ef
Improve validate_<fieldname> fix
2013-01-23 07:53:54 +01:00
Stephan Groß
f0071dbccd
Add separate test for failed custom validation
2013-01-23 07:52:56 +01:00
Tom Christie
b7ab2aee46
Merge branch 'master' into unauthenticated_response
...
Conflicts:
docs/api-guide/authentication.md
2013-01-22 09:11:38 +00:00
Tom Christie
65b62d64ec
WWW-Authenticate responses
2013-01-21 21:29:49 +00:00
Tom Christie
778b0dddef
Merge pull request #602 from kevinastone/master
...
TestCase for `format_suffix_patterns`
2013-01-21 09:51:33 -08:00
Tom Christie
98bffa68e6
Don't do an inverted if test.
2013-01-21 17:42:39 +00:00
Kevin Stone
e7916ae0b1
Tweaked some method names to be more clear and added a docstring to the test case class.
...
Signed-off-by: Kevin Stone <kevinastone@gmail.com>
2013-01-21 09:37:50 -08:00
Stephan Groß
2250ab6418
Add possible solution for field validation error
2013-01-21 12:50:39 +01:00
Stephan Groß
dc1c57d595
Add failed testcase for fieldvalidation
2013-01-21 12:45:30 +01:00
Kevin Stone
71bd2faa79
Added test case for format_suffix_patterns to validate changes introduced with issue #593 .
...
Signed-off-by: Kevin Stone <kevinastone@gmail.com>
2013-01-20 13:03:38 -08:00
Tom Christie
771821af7d
Include kwargs in included URLs
2013-01-19 18:39:39 +00:00
Tom Christie
69083c3668
Drop print statement
2013-01-19 18:36:25 +00:00
Tom Christie
2c05faa52a
format_suffix_patterns
now support include
-style nested URL patterns. Fixes #593
2013-01-19 16:56:48 +00:00
Tom Christie
37d49429ca
Raise assertion errors if @api_view decorator is applied incorrectly. Fixes #596 .
2013-01-19 15:51:14 +00:00
Tom Christie
a98049c5de
Drop unneeded test
2013-01-19 15:25:32 +00:00
Tom Christie
4eb5861f36
Starting migration from ManyField to Field(many=True)
2013-01-18 23:36:35 +00:00
Tom Christie
211bb89eec
Raise Validation Errors when relationships receive incorrect types. Fixes #590 .
2013-01-18 21:29:21 +00:00
Tom Christie
6385ac519d
Revert accidental merge.
2013-01-18 19:47:57 +00:00
Mark Aaron Shirley
221f7326c7
Use None to delete nested object as opposed to _delete flag
2013-01-16 16:04:20 -08:00
Mark Aaron Shirley
34e14b01e4
Move nested serializer logic into .field_from_native()
2013-01-16 16:04:20 -08:00
Mark Aaron Shirley
2d62bcd5aa
Add one-to-one nested update and delete functionality
2013-01-16 16:04:20 -08:00
Mark Aaron Shirley
8e5003a1f6
Update errant test comment
2013-01-16 16:04:20 -08:00
Mark Aaron Shirley
46eea97380
Update one-to-one test names
2013-01-16 16:04:19 -08:00
Mark Aaron Shirley
e66eeb4af8
Remove commented out debug code
2013-01-16 16:04:19 -08:00
Mark Aaron Shirley
72c04d570d
Add nested create for 1to1 reverse relationships
2013-01-16 16:04:19 -08:00
Tom Christie
eb3d4d0e93
Drop bits of relations_slug tests which don't mirror existing tests.
2013-01-16 14:32:51 +00:00
Tom Christie
875841c76a
Merge branch 'master' of https://github.com/steve-gregory/django-rest-framework into slug-field-fixes
2013-01-16 13:24:09 +00:00
Steven Gregory
87029122c2
Added a new file 'relations_slug.py' that tests Nullable Foreign Keys and the SlugRelatedField
2013-01-15 13:49:48 -07:00
Tom Christie
685706ff2b
Merge pull request #584 from radiosilence/master
...
Adding timedelta support to JSONEncoder, and an example of how to add decode support to a serializer.
2013-01-15 05:25:24 -08:00
James Cleveland
4fc3b1ba56
Add timedelta encoder to the JSONEncoder class.
...
Whilst this commit adds *encoding* of timedeltas to a string of a floating
point value of the seconds, you must add your own serializer field for
whatever timedelta model field you are using. This is because Django doesn't
support any kind of timedelta field out-of-the-box, so you have to either
implement your own or use django-timedelta.
If this is the case and you want to serialise timedelta input, you will have
to implement your own special field to use for the timedelta, which is not
included in core as it is based on a 3rd party library. Here is an example:
import datetime
import timedelta
from django import forms
from django.core import validators
from django.core.exceptions import ValidationError
from django.utils.translation import ugettext_lazy as _
from rest_framework.fields import WritableField
class TimedeltaField(WritableField):
type_name = 'TimedeltaField'
form_field_class = forms.FloatField
default_error_messages = {
'invalid': _("'%s' value must be in seconds."),
}
def from_native(self, value):
if value in validators.EMPTY_VALUES:
return None
try:
return datetime.timedelta(seconds=float(value))
except (TypeError, ValueError):
msg = self.error_messages['invalid'] % value
raise ValidationError(msg)
Which is based on the FloatField. This field can then be used in
your serializer like this:
from yourapp.fields import TimedeltaField
class YourSerializer(serializers.ModelSerializer):
duration = TimedeltaField()
2013-01-15 13:08:52 +00:00
Johannes Spielmann
e67b23f1ac
correcting template: closing tag was missing
2013-01-15 13:46:41 +01:00
Tom Christie
da6b9576c5
Update docstrings
2013-01-15 10:51:10 +00:00
Tom Christie
191135d7b0
Version 2.1.16
2013-01-14 09:20:44 +00:00
Tom Christie
d9acec3e6d
PK fields should only be read-only if they are an AutoField. Fixes #563
2013-01-12 09:43:14 +00:00
Tom Christie
73c4e5c460
auto_now and auto_now_add fields should be read only by default
2013-01-12 09:43:14 +00:00
Juan Riaza
268f60999c
unused imports
2013-01-10 15:48:22 +01:00
Mark Aaron Shirley
81691ff900
Merge remote-tracking branch 'upstream/master' into null-one-to-one
2013-01-08 08:33:01 -08:00
Tom Christie
431ced66e4
Merge pull request #566 from mjtamlyn/patch-1
...
ObtainAuthToken pluggable Serializer.
2013-01-08 07:38:18 -08:00
Tom Christie
37a8458687
Merge branch 'master' of https://github.com/tomchristie/django-rest-framework
2013-01-08 15:05:34 +00:00
Tom Christie
c1f194b0a5
Fix inconsistent view_name logic. Fixes #567 .
2013-01-08 15:03:14 +00:00
Marc Tamlyn
49cd5e59a8
ObtainAuthToken pluggable Serializer.
...
It should have serializer_class in the same way as any other API view.
2013-01-08 12:20:01 +00:00
Mark Aaron Shirley
a897eb5480
Create separate *NullableOneToOneTests TestCase
2013-01-07 16:27:31 -08:00
Xavier Ordoquy
510d6a3c55
Introduced HTTP_HEADER_ENCODING.
2013-01-07 23:26:14 +01:00
Tom Christie
4e8f55887d
Clean up test slightly. Refs #552
2013-01-07 21:37:44 +00:00
Tom Christie
4bb504732d
Respect blank=True on relational fields. Fixes #537
2013-01-07 21:08:55 +00:00
Tom Christie
36fa722ebb
Merged to latest master
2013-01-07 21:04:52 +00:00
Marc Tamlyn
5bded1ecf0
Use ResolveMatch.view_name so namespaces work.
2013-01-07 14:34:45 +00:00
Marc Tamlyn
c736b80290
Be more informative when reporting import errors.
2013-01-07 12:52:20 +00:00
Michael Mior
9b67a33b92
Use the correct static template tag in Django 1.5
2013-01-06 15:49:12 -05:00
Juan Riaza
a061e3d9e2
deprecate simplejson
2013-01-05 13:40:02 +01:00
Mark Aaron Shirley
213981cef3
Handle ObjectDoesNotExist exceptions when serializing null reverse one-to-one
2013-01-04 21:11:03 +01:00
Tom Christie
26f9acb45a
Validation errors instead of exceptions when serializers receive incorrect types. Fixes #402 .
2013-01-04 14:11:05 +00:00
Tom Christie
eb14278a3b
Add proper validation for updating relational fields with incorrect types. Fixes #446 .
2013-01-04 13:50:40 +00:00
Tom Christie
4c86fd46d7
Rename module for basic relational field tests
2013-01-04 13:05:31 +00:00
Tom Christie
6e9865cb71
Fix for #446 . Note: Also needs applying to other relational types.
2013-01-03 23:17:31 +00:00
Tom Christie
ad671022e1
Version 2.1.15
2013-01-03 22:14:11 +00:00
Tom Christie
7ed81c3c66
Tweak comment.
2013-01-03 22:06:55 +00:00
Tom Christie
6da21fa796
Merge pull request #541 from yprez/default_and_partial_serializers2
...
Fix "default" values and partial serializers. Fixes #532 .
2013-01-03 14:05:36 -08:00
Tom Christie
bfea7f64ee
Tweak behavior of hyperlinked fields that include an explicit format suffix.
2013-01-03 21:49:29 +00:00
Tom Christie
92ae08207a
Drop unused private save_m2m flag
2013-01-03 21:49:01 +00:00
Xavier Ordoquy
06ae47752f
Also use the compat module in that file.
2013-01-03 12:49:57 +01:00
Xavier Ordoquy
60250f22c8
Move the various compat things to the compat module.
2013-01-03 11:41:07 +01:00
Xavier Ordoquy
cf51dcc9bb
Straight import is enough.
2013-01-03 10:48:43 +01:00
Mark Aaron Shirley
8fd1f09dad
Move relation tests models into models.py
2013-01-03 10:23:13 +01:00
Yuri Prezument
3f5e938247
Some cleanup
2013-01-03 08:28:17 +02:00
Yuri Prezument
f2625fc38c
FileField validation - handle case when files=None, fixes #542
2013-01-02 22:12:26 +02:00
Yuri Prezument
1c8fccfdcd
Regression test for #542
2013-01-02 22:07:23 +02:00
Xavier Ordoquy
4b77b3c5ad
Move the urlparse lib compatibility to the compat file.
2013-01-02 19:06:55 +01:00
Xavier Ordoquy
c95fa81cb2
Use new exception style
2013-01-02 19:06:28 +01:00
Xavier Ordoquy
9c7524fc33
Fixed unicode errors.
2013-01-02 19:06:02 +01:00
Xavier Ordoquy
45d48dd52f
urlparse not used here.
2013-01-02 18:54:55 +01:00
Tom Christie
6da9cd5429
Add .patch()
method for RetrieveUpdateAPIView
2013-01-02 17:43:43 +00:00
Xavier Ordoquy
1e6927b40d
Merge remote-tracking branch 'reference/py3k' into p3k
2013-01-02 16:17:07 +01:00
Xavier Ordoquy
737349d238
Merge remote-tracking branch 'reference/py3k' into p3k
2013-01-02 16:09:21 +01:00
Yuri Prezument
3873bc8a85
Add explaining comment
2013-01-02 15:57:00 +02:00
Yuri Prezument
6b962cfcf7
Fix "default" and partial serializers, fixes #532
2013-01-02 15:56:46 +02:00
Tom Christie
ef73160599
Added RetrieveUpdateAPIView
2013-01-02 13:46:19 +00:00
Tom Christie
b807f3d52a
Keep API backwards compatible.
2013-01-02 13:39:24 +00:00
Tom Christie
eff40391fb
Merge branch 'patch-support' of https://github.com/ahankinson/django-rest-framework into patch
2013-01-02 13:27:00 +00:00
Mark Aaron Shirley
44771e81b2
Update HyperlinkedForeignKeyTests to match PKForeignKeyTests
2013-01-01 17:51:39 +01:00
Andrew Hankinson
389ca3b3b1
Merge branch 'master' of git://github.com/tomchristie/django-rest-framework into patch-support
2013-01-01 11:36:23 -05:00
Mark Aaron Shirley
a617a3758f
Don't persist relation changes in ModelSerializer#restore_object()
2012-12-31 14:33:24 +01:00
Tom Christie
eff833b39d
Version 2.1.14
2012-12-31 08:53:49 +00:00
Tom Christie
8fad0a727a
Relation fields move into relations.py
2012-12-31 08:53:40 +00:00
Andrew Hankinson
c6f212238c
Merge branch 'master' of git://github.com/tomchristie/django-rest-framework into patch-support
2012-12-30 14:03:08 -04:00
Andrew Hankinson
df1880185c
Renaming DRFRequestFactory to RequestFactory
...
Updated tests to reflect the new name.
2012-12-30 13:58:08 -04:00
Andrew Hankinson
b9e48e8413
Removing Partial Update classes
...
PATCH methods merged into RetrieveUpdateDestroy class
2012-12-30 13:56:59 -04:00
Tom Christie
33580c82b3
Cleanup runtests/runcoverage
2012-12-30 08:06:11 +00:00
Sebastien Beal
b1e6b58c97
missing rest_framework templatetags for statics in login template
2012-12-30 13:24:05 +09:00
Tom Christie
12c4f1ecf7
Add reverse FK update tests
2012-12-29 18:26:47 +00:00
Tom Christie
18590a1568
Add test for hyperlinked reverse FK create. Refs #511
2012-12-29 18:17:48 +00:00
Tom Christie
0176fab475
Add TODO
2012-12-29 17:12:40 +00:00
Tom Christie
031a656667
Added hyperlinked FK create test
2012-12-29 17:12:07 +00:00
Tom Christie
caaf1c80f5
Support reverse FK creation
2012-12-29 16:51:41 +00:00
Tom Christie
51e2664491
Add FK create tests
2012-12-29 15:51:32 +00:00
Tom Christie
bf69205cd3
Tests for retrieving nullable relations
2012-12-29 13:33:03 +00:00
Tom Christie
809f5de330
Merge pull request #515 from yprez/blank_fields_issue
...
Fix for #514
2012-12-29 05:25:43 -08:00
Tom Christie
923f81d269
Nested serializers now support nullable relationships, plus test. Fixes #384
2012-12-29 13:19:05 +00:00
Tom Christie
250a7231d3
Add tests for nested FKs
2012-12-29 13:10:43 +00:00
Tom Christie
f7a82b6aee
Version 2.1.13
2012-12-28 12:45:05 +00:00
Tom Christie
acdb69be52
Include 'static' template tag to enable 1.3 compatible staticfiles behaviour
2012-12-28 12:36:28 +00:00
Tom Christie
3e4242fc43
django.contrib.staticfiles no longer needs to be in INSTALLED_APPS
2012-12-28 12:33:24 +00:00
Tom Christie
eefd5b05fb
Use compat import of urlpatterns
2012-12-27 20:20:01 +00:00