mirror of
				https://github.com/encode/django-rest-framework.git
				synced 2025-10-31 16:07:38 +03:00 
			
		
		
		
	CharField - add allow_null argument
This commit is contained in:
		
							parent
							
								
									e88e3c6ae1
								
							
						
					
					
						commit
						6e622d644c
					
				|  | @ -157,23 +157,24 @@ Corresponds to `django.db.models.fields.BooleanField`. | |||
| ## CharField | ||||
| 
 | ||||
| A text representation, optionally validates the text to be shorter than `max_length` and longer than `min_length`. | ||||
| If `allow_none` is `False` (default), `None` values will be converted to an empty string. | ||||
| 
 | ||||
| Corresponds to `django.db.models.fields.CharField` | ||||
| or `django.db.models.fields.TextField`. | ||||
| 
 | ||||
| **Signature:** `CharField(max_length=None, min_length=None)` | ||||
| **Signature:** `CharField(max_length=None, min_length=None, allow_none=False)` | ||||
| 
 | ||||
| ## URLField | ||||
| 
 | ||||
| Corresponds to `django.db.models.fields.URLField`.  Uses Django's `django.core.validators.URLValidator` for validation. | ||||
| 
 | ||||
| **Signature:** `CharField(max_length=200, min_length=None)` | ||||
| **Signature:** `CharField(max_length=200, min_length=None, allow_none=False)` | ||||
| 
 | ||||
| ## SlugField | ||||
| 
 | ||||
| Corresponds to `django.db.models.fields.SlugField`. | ||||
| 
 | ||||
| **Signature:** `CharField(max_length=50, min_length=None)` | ||||
| **Signature:** `CharField(max_length=50, min_length=None, allow_none=False)` | ||||
| 
 | ||||
| ## ChoiceField | ||||
| 
 | ||||
|  |  | |||
|  | @ -443,8 +443,9 @@ class CharField(WritableField): | |||
|     type_label = 'string' | ||||
|     form_field_class = forms.CharField | ||||
| 
 | ||||
|     def __init__(self, max_length=None, min_length=None, *args, **kwargs): | ||||
|     def __init__(self, max_length=None, min_length=None, allow_none=False, *args, **kwargs): | ||||
|         self.max_length, self.min_length = max_length, min_length | ||||
|         self.allow_none = allow_none | ||||
|         super(CharField, self).__init__(*args, **kwargs) | ||||
|         if min_length is not None: | ||||
|             self.validators.append(validators.MinLengthValidator(min_length)) | ||||
|  | @ -452,7 +453,7 @@ class CharField(WritableField): | |||
|             self.validators.append(validators.MaxLengthValidator(max_length)) | ||||
| 
 | ||||
|     def from_native(self, value): | ||||
|         if value is None: | ||||
|         if value is None and not self.allow_none: | ||||
|             return '' | ||||
|         if isinstance(value, six.string_types): | ||||
|             return value | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user