Release notes

This commit is contained in:
Tom Christie 2014-09-26 12:17:20 +01:00
parent 43e80c74b2
commit e8af73d144

View File

@ -125,14 +125,41 @@ The corresponding code would now look like this:
logging.info('Creating ticket "%s"' % name) logging.info('Creating ticket "%s"' % name)
extras = {'user': request.user} # Include the user when saving. extras = {'user': request.user} # Include the user when saving.
serializer.save(extras=extras) serializer.save(extras=extras)
#### Printable serializer reprensentations.
Serializer instances now support a printable representation that allows you to inspect the fields present on the instance.
For instance, given the following example model:
class LocationRating(models.Model):
location = models.CharField(max_length=100)
rating = models.IntegerField()
created_by = models.ForeignKey(User)
Let's create a simple `ModelSerializer` class c.
class LocationRatingSerializer(serializer.ModelSerializer):
class Meta:
model = LocationRating
We can now inspect its representation in the Django shell, using `python manage.py shell`...
>>> serializer = LocationRatingSerializer()
>>> print(serializer) # Or use `print serializer` in Python 2.x
LocationRatingSerializer():
id = IntegerField(label='ID', read_only=True)
location = CharField(max_length=100)
rating = IntegerField()
created_by = PrimaryKeyRelatedField(queryset=User.objects.all())
#### Always use `fields`, not `exclude`. #### Always use `fields`, not `exclude`.
The `exclude` option is no longer available. You should use the more explicit `fields` option instead. The `exclude` option on `ModelSerializer` is no longer available. You should use the more explicit `fields` option instead.
#### The `extra_kwargs` option. #### The `extra_kwargs` option.
The `read_only_fields` and `write_only_fields` options have been removed and replaced with a more generic `extra_kwargs`. The `read_only_fields` and `write_only_fields` options on `ModelSerializer` have been removed and replaced with a more generic `extra_kwargs`.
class MySerializer(serializer.ModelSerializer): class MySerializer(serializer.ModelSerializer):
class Meta: class Meta:
@ -177,7 +204,7 @@ Alternatively, specify the field explicitly on the serializer class:
#### Fields for model methods and properties. #### Fields for model methods and properties.
You can now specify field names in the `fields` option that refer to model methods or properties. For example, suppose you have the following model: With `ModelSerilizer` you can now specify field names in the `fields` option that refer to model methods or properties. For example, suppose you have the following model:
class Invitation(models.Model): class Invitation(models.Model):
created = models.DateTimeField() created = models.DateTimeField()