mirror of
				https://github.com/django/django.git
				synced 2025-10-27 07:36:08 +00:00 
			
		
		
		
	* Support for representing files as strings was removed. Use `django.core.files.base.ContentFile` instead. * Support for representing uploaded files as dictionaries was removed. Use `django.core.files.uploadedfile.SimpleUploadedFile` instead. * The `filename`, `file_name`, `file_size`, and `chuck` properties of `UploadedFile` were removed. Use the `name`, `name`, `size`, and `chunks` properties instead, respectively. * The `get_FIELD_filename`, `get_FIELD_url`, `get_FIELD_size`, and `save_FIELD_file` methods for Models with `FileField` fields were removed. Instead, use the `path`, `url`, and `size` attributes and `save` method on the field itself, respectively. * The `get_FIELD_width` and `get_FIELD_height` methods for Models with `ImageField` fields were removed. Use the `width` and `height` attributes on the field itself instead. * The dispatcher `connect`, `disconnect`, `send`, and `sendExact` functions were removed. Use the signal object's own `connect`, `disconnect`, `send`, and `send` methods instead, respectively. * The `form_for_model` and `form_for_instance` functions were removed. Use a `ModelForm` subclass instead. * Support for importing `django.newforms` was removed. Use `django.forms` instead. * Support for importing `django.utils.images` was removed. Use `django.core.files.images` instead. * Support for the `follow` argument in the `create_object` and `update_object` generic views was removed. Use the `django.forms` package and the new `form_class` argument instead. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8291 bcc190cf-cafb-0310-a4f2-bffc1f526a37
		
			
				
	
	
		
			77 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # -*- coding: utf-8 -*-
 | |
| import datetime
 | |
| 
 | |
| from django.db import models
 | |
| # Can't import as "forms" due to implementation details in the test suite (the
 | |
| # current file is called "forms" and is already imported).
 | |
| from django import forms as django_forms
 | |
| 
 | |
| class BoundaryModel(models.Model):
 | |
|     positive_integer = models.PositiveIntegerField(null=True, blank=True)
 | |
| 
 | |
| class Defaults(models.Model):
 | |
|     name = models.CharField(max_length=256, default='class default value')
 | |
|     def_date = models.DateField(default = datetime.date(1980, 1, 1))
 | |
|     value = models.IntegerField(default=42)
 | |
| 
 | |
| class ChoiceModel(models.Model):
 | |
|     """For ModelChoiceField and ModelMultipleChoiceField tests."""
 | |
|     name = models.CharField(max_length=10)
 | |
| 
 | |
| class FileModel(models.Model):
 | |
|     file = models.FileField(upload_to='/')
 | |
| 
 | |
| class FileForm(django_forms.Form):
 | |
|     file1 = django_forms.FileField()
 | |
| 
 | |
| __test__ = {'API_TESTS': """
 | |
| >>> from django.forms.models import ModelForm
 | |
| >>> from django.core.files.uploadedfile import SimpleUploadedFile
 | |
| 
 | |
| # FileModel with unicode filename and data #########################
 | |
| >>> f = FileForm(data={}, files={'file1': SimpleUploadedFile('我隻氣墊船裝滿晒鱔.txt', 'मेरी मँडराने वाली नाव सर्पमीनों से भरी ह')}, auto_id=False)
 | |
| >>> f.is_valid()
 | |
| True
 | |
| >>> f.cleaned_data
 | |
| {'file1': <SimpleUploadedFile: 我隻氣墊船裝滿晒鱔.txt (text/plain)>}
 | |
| >>> m = FileModel.objects.create(file=f.cleaned_data['file1'])
 | |
| 
 | |
| # Boundary conditions on a PostitiveIntegerField #########################
 | |
| >>> class BoundaryForm(ModelForm):
 | |
| ...     class Meta:
 | |
| ...         model = BoundaryModel
 | |
| >>> f = BoundaryForm({'positive_integer': 100})
 | |
| >>> f.is_valid()
 | |
| True
 | |
| >>> f = BoundaryForm({'positive_integer': 0})
 | |
| >>> f.is_valid()
 | |
| True
 | |
| >>> f = BoundaryForm({'positive_integer': -100})
 | |
| >>> f.is_valid()
 | |
| False
 | |
| 
 | |
| # Formfield initial values ########
 | |
| If the model has default values for some fields, they are used as the formfield
 | |
| initial values.
 | |
| >>> class DefaultsForm(ModelForm):
 | |
| ...     class Meta:
 | |
| ...         model = Defaults
 | |
| >>> DefaultsForm().fields['name'].initial
 | |
| u'class default value'
 | |
| >>> DefaultsForm().fields['def_date'].initial
 | |
| datetime.date(1980, 1, 1)
 | |
| >>> DefaultsForm().fields['value'].initial
 | |
| 42
 | |
| 
 | |
| In a ModelForm that is passed an instance, the initial values come from the
 | |
| instance's values, not the model's defaults.
 | |
| >>> foo_instance = Defaults(name=u'instance value', def_date=datetime.date(1969, 4, 4), value=12)
 | |
| >>> instance_form = DefaultsForm(instance=foo_instance)
 | |
| >>> instance_form.initial['name']
 | |
| u'instance value'
 | |
| >>> instance_form.initial['def_date']
 | |
| datetime.date(1969, 4, 4)
 | |
| >>> instance_form.initial['value']
 | |
| 12
 | |
| """}
 |