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
Tom Christie
24ed6dcfda
Update runtest settings to include staticfiles app.
2012-12-27 17:35:00 +00:00
Roman Akinfold
5ae7786930
Replace get_static_prefix templatetag with static
...
so now static files urls in html view are correct if we use cloud
storage to serve static files
2012-12-27 05:35:03 +08:00
Yuri Prezument
36e1987f59
Regression test for #532 - values overriden by "default" setting
2012-12-25 18:50:00 +02:00
Tom Christie
0576241b19
Merge pull request #523 from maspwr/related-required
...
RelatedField should respect self.required
2012-12-23 10:48:35 -08:00
Mark Aaron Shirley
f8a1256b1c
Update RelatedField#field_from_native coding style
2012-12-21 11:33:01 -08:00
Tom Christie
79aea2f0d0
Version 2.1.12
2012-12-21 09:18:35 +00:00
Tom Christie
04119245ec
Make nested tests consistent with pk and hyperlink tests
2012-12-21 09:15:28 +00:00
Tom Christie
37acea5240
Fix up test url model now filename has changed
2012-12-21 09:15:08 +00:00
Tom Christie
83feda6a69
Rename relationship tests so they show up together
2012-12-21 09:10:16 +00:00
Tom Christie
98919031db
Merge pull request #522 from maspwr/writable-serializers
...
Writable Serializers - READ tests
2012-12-21 01:05:37 -08:00
Mark Hughes
125f027d2d
Added setter to the auth property
2012-12-20 23:48:10 +00:00
Andrew Hankinson
e61eab43f4
Adjust PATCH test cases to use the new DRFRequestFactory
2012-12-20 00:28:01 -05:00
Andrew Hankinson
2b5deefe56
Subclass Django's RequestFactory to provide PATCH support
2012-12-20 00:27:29 -05:00
Mark Aaron Shirley
2f5582a1a6
Merge remote-tracking branch 'upstream/master' into related-required
2012-12-19 15:24:22 -08:00
Mark Aaron Shirley
ef475eb9bd
Merge remote-tracking branch 'upstream/master' into writable-serializers
2012-12-19 15:21:06 -08:00
Tom Christie
a493c83248
urls, patterns, include imports move to compat to support incoming 1.3 thru 1.6 import compatability
2012-12-19 23:12:27 +00:00
Tom Christie
46b313315a
Merge pull request #510 from joual/master
...
Fixes #509
2012-12-19 14:39:11 -08:00
Mark Aaron Shirley
ae6ca7456f
Merge remote-tracking branch 'upstream/master' into writable-serializers
2012-12-19 14:37:44 -08:00
Tom Christie
598ae3286a
Fix #521 . (Browseable API exception on delete)
2012-12-19 22:05:35 +00:00
Tom Christie
d90d5380d7
pep8
2012-12-19 22:05:00 +00:00
Mark Aaron Shirley
5c680c36e4
Check if RelatedField is required.
2012-12-19 09:26:40 -08:00
Yuri Prezument
c13f132a21
Failing test with partial serializer and foreign keys
2012-12-19 09:24:11 -08:00
Mark Aaron Shirley
c6a6d7ac15
remove all but the 'read' nested serializer tests
2012-12-19 07:33:49 -08:00
Trey Hunner
8a41d4aa54
Fix assertion for nested create test (missing id)
2012-12-19 07:30:19 -08:00
Trey Hunner
2910bfb527
Add two functions for more DRY reverse fk tests
2012-12-19 07:30:19 -08:00
Trey Hunner
cbf3429005
Add test for deleting a reverse fk relation
2012-12-19 07:30:19 -08:00
Trey Hunner
f92c5b28ad
Add test for creating a reverse fk relation
2012-12-19 07:30:19 -08:00
Trey Hunner
24e14b7d53
Add tests for retrieving/updating reverse fks
2012-12-19 07:30:18 -08:00
Tom Christie
ab86990ac8
HyperlinkedRealtedField tests. Refs #442 .
2012-12-18 19:20:31 +00:00
Tom Christie
6611514134
Whitespace
2012-12-18 19:20:10 +00:00
Tom Christie
6693d2d277
Fix for pks returning as strings when set in pre_save. Fixes #482 . Thanks to @n8agrin for the bug report.
2012-12-18 18:21:58 +00:00
Tom Christie
8f23b7f2f9
Version 2.1.11
2012-12-17 22:01:50 +00:00
Tom Christie
aa72f8d63d
Fix bug with M2M in browseable API
2012-12-17 21:59:51 +00:00
Yuri Prezument
c68f7ca580
blank=True fields are not required - fixes #514
2012-12-17 16:57:11 +02:00
Yuri Prezument
967f22e7d1
Failing test case for #514
...
Serializer errors are: {'title': [u'This field is required.']}
2012-12-17 16:50:20 +02:00
Yuri Prezument
6f6aeadf5f
CharField in model should be null=True according Django docs
...
All tests should still pass
Ref #514
2012-12-17 16:48:03 +02:00
Tom Christie
70714c2346
Version 2.1.10
2012-12-17 09:08:28 +00:00
Andrew Hankinson
18338a37d3
Adding PATCH support to Django REST Framework
2012-12-16 14:49:18 -05:00
Andrew Hankinson
4f96951be9
Add 'patch' http method support to the Django View object
2012-12-16 13:11:59 -05:00
toran billups
008dafce17
ManyPrimaryKeyRelatedField now supports create for one-to-many rel
2012-12-15 20:55:36 -06:00
Joel Marcotte
262d9c2489
Final commit to restore the fix
...
Signed-off-by: Joel Marcotte <skaner@gmail.com>
2012-12-15 16:52:28 -05:00
Joel Marcotte
6f25181979
Reverting commit to previous state to see if the test is only relevant to django 1.5b2
2012-12-15 16:45:04 -05:00
Joel Marcotte
01e06bcdf8
Added test for "positive_integer in choices tuple does not get parsed if not string".
...
Signed-off-by: Joel Marcotte <skaner@gmail.com>
2012-12-15 16:33:08 -05:00
Tom Christie
35f72cecb1
Fix model validation exclusions. Fixes #500 . Fixes #506 .
2012-12-15 20:40:41 +00:00
Joel Marcotte
71ccab593b
Fix for JSON integer match to a ChoiceField
2012-12-15 10:35:06 -05:00
Tom Christie
65f7aa0214
Drop unneeded passing through of kwargs now context issue is resolved.
2012-12-14 20:12:50 +00:00
Tom Christie
3c31222a41
Merge branch 'master' of https://github.com/sunscrapers/django-rest-framework
2012-12-14 20:11:37 +00:00
Tom Christie
39b01d6802
Ensure context is passed to dynamically added fields. Fixes #476 .
2012-12-14 19:59:29 +00:00
Simon Pantzare
9eaf8e4330
Test to verify that context is passed on
...
The paginator and its object serializer should share the same context.
2012-12-14 19:59:29 +00:00
Stephan Groß
76c840f1bb
added missing line
2012-12-13 20:41:40 +01:00
Stephan Groß
e198a2b376
added RetrieveUpdateAPIView
2012-12-13 16:57:17 +01:00
Stephan Groß
54d9cd4dba
fixed validationerror usage
2012-12-13 16:44:45 +01:00
Szymon Teżewski
5f08ec70e2
context to custom field in pagination
2012-12-13 12:07:56 +01:00
Tom Christie
497da7fc69
Clean up field initialization. Fixes #497
2012-12-12 20:45:06 +00:00
Tom Christie
85bf4164dd
Drop left over code
2012-12-11 22:09:04 +00:00
Tom Christie
0824761f47
Version 2.1.9
2012-12-11 21:07:48 +00:00
Tom Christie
4058223309
Fix broken nested fields
2012-12-11 21:07:25 +00:00
George Kappel
80f15c598a
Added depth test
2012-12-11 09:14:52 -06:00
Tom Christie
980b394c8b
Merge pull request #492 from annacoder/master
...
Making sure the assert does not fail when required=False, read_only=True
2012-12-11 01:03:16 -08:00
Venkat
1815cdd247
Making sure the assert does not fail when required=False, read_only=True
2012-12-10 17:46:21 -08:00
Marko Tibold
d0935d1fbb
get_excluded_fieldnames() should respect Meta options' ability to be either a tuple or list. Fixes #490 .
...
Refactored `if self.opt.fields` out of the for loop.
Updated and cleaned up the validation-tests.
2012-12-10 23:10:04 +01:00
Tom Christie
ff01ae3571
Version 2.1.8
2012-12-08 13:01:03 +00:00
Tom Christie
ac2720afcb
Add null related field option
2012-12-08 13:00:49 +00:00
Tom Christie
733f03fba3
Fix for emptystring as nullable FK
2012-12-08 12:48:38 +00:00
Tom Christie
936fdfb78e
More tests for nullable FKs
2012-12-08 12:48:27 +00:00
Tom Christie
f72be7b8fa
Add test for m2m create
2012-12-08 12:29:35 +00:00
Tom Christie
b170973993
Version 2.1.7
2012-12-07 22:36:30 +00:00
Tom Christie
c911d54ae3
Reverted #458
...
When incorrect parameters are supplied to the obtain auth token view
400 *is* the correct response.
2012-12-07 22:25:16 +00:00
Tom Christie
303bc7cf95
Support nullable FKs, with blank=True
2012-12-07 21:32:45 +00:00
Tom Christie
a5178e9a36
Merge pull request #451 from markotibold/#431
...
Call model's .full_clean() method, eg. to validate uniqueness
2012-12-07 12:34:56 -08:00
Marko Tibold
919aff329e
Fix AttributeError caused by accessing a non-existing default_keys attribute.
2012-12-07 00:08:27 +01:00
Tom Christie
a463ddbb37
Merge pull request #470 from minddust/fix-#469
...
fixed #469 - RegexField <--> BrowsableAPI Bug
2012-12-06 14:58:18 -08:00