mirror of
				https://github.com/encode/django-rest-framework.git
				synced 2025-10-31 07:57:55 +03:00 
			
		
		
		
	Merge branch 'master' of https://github.com/tomchristie/django-rest-framework
This commit is contained in:
		
						commit
						735d2257b4
					
				|  | @ -74,7 +74,7 @@ Default: | ||||||
| 
 | 
 | ||||||
| #### DEFAULT_PERMISSION_CLASSES | #### DEFAULT_PERMISSION_CLASSES | ||||||
| 
 | 
 | ||||||
| A list or tuple of permission classes, that determines the default set of permissions checked at the start of a view. | A list or tuple of permission classes, that determines the default set of permissions checked at the start of a view. Permission must be granted by every class in the list. | ||||||
| 
 | 
 | ||||||
| Default: | Default: | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -189,13 +189,13 @@ You can either return `non_field_errors` from the validate method by raising a s | ||||||
| 
 | 
 | ||||||
|     def validate(self, attrs): |     def validate(self, attrs): | ||||||
|         # serializer.errors == {'non_field_errors': ['A non field error']} |         # serializer.errors == {'non_field_errors': ['A non field error']} | ||||||
|         raise serailizers.ValidationError('A non field error') |         raise serializers.ValidationError('A non field error') | ||||||
| 
 | 
 | ||||||
| Alternatively if you want the errors to be against a specific field, use a dictionary of when instantiating the `ValidationError`, like so: | Alternatively if you want the errors to be against a specific field, use a dictionary of when instantiating the `ValidationError`, like so: | ||||||
| 
 | 
 | ||||||
|     def validate(self, attrs): |     def validate(self, attrs): | ||||||
|         # serializer.errors == {'my_field': ['A field error']} |         # serializer.errors == {'my_field': ['A field error']} | ||||||
|         raise serailizers.ValidationError({'my_field': 'A field error'}) |         raise serializers.ValidationError({'my_field': 'A field error'}) | ||||||
| 
 | 
 | ||||||
| This ensures you can still write validation that compares all the input fields, but that marks the error against a particular field. | This ensures you can still write validation that compares all the input fields, but that marks the error against a particular field. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -44,7 +44,9 @@ When that's all done we'll need to update our database tables. | ||||||
| Normally we'd create a database migration in order to do that, but for the purposes of this tutorial, let's just delete the database and start again. | Normally we'd create a database migration in order to do that, but for the purposes of this tutorial, let's just delete the database and start again. | ||||||
| 
 | 
 | ||||||
|     rm tmp.db |     rm tmp.db | ||||||
|     python manage.py syncdb |     rm -r snippets/migrations | ||||||
|  |     python manage.py makemigrations snippets | ||||||
|  |     python manage.py migrate | ||||||
| 
 | 
 | ||||||
| You might also want to create a few different users, to use for testing the API.  The quickest way to do this will be with the `createsuperuser` command. | You might also want to create a few different users, to use for testing the API.  The quickest way to do this will be with the `createsuperuser` command. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -60,7 +60,7 @@ To see what's going on under the hood let's first explicitly create a set of vie | ||||||
| 
 | 
 | ||||||
| In the `urls.py` file we bind our `ViewSet` classes into a set of concrete views. | In the `urls.py` file we bind our `ViewSet` classes into a set of concrete views. | ||||||
| 
 | 
 | ||||||
|     from snippets.views import SnippetViewSet, UserViewSet |     from snippets.views import SnippetViewSet, UserViewSet, api_root | ||||||
|     from rest_framework import renderers |     from rest_framework import renderers | ||||||
| 
 | 
 | ||||||
|     snippet_list = SnippetViewSet.as_view({ |     snippet_list = SnippetViewSet.as_view({ | ||||||
|  |  | ||||||
|  | @ -237,13 +237,6 @@ | ||||||
|             </div> |             </div> | ||||||
|             <!-- END Content --> |             <!-- END Content --> | ||||||
|             </div><!-- /.container --> |             </div><!-- /.container --> | ||||||
| 
 |  | ||||||
|             <footer> |  | ||||||
|                 {% block footer %} |  | ||||||
|                     <p>Sponsored by <a href="http://dabapps.com/">DabApps</a>.</p> |  | ||||||
|                 {% endblock %} |  | ||||||
|             </footer> |  | ||||||
| 
 |  | ||||||
|         </div><!-- ./wrapper --> |         </div><!-- ./wrapper --> | ||||||
| 
 | 
 | ||||||
|         {% block script %} |         {% block script %} | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user