mirror of
				https://github.com/django/django.git
				synced 2025-10-31 01:25:32 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			30 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import datetime
 | |
| 
 | |
| from django import forms
 | |
| from django.test import TestCase
 | |
| 
 | |
| from .models import Article
 | |
| 
 | |
| 
 | |
| class FormsTests(TestCase):
 | |
|     # ForeignObjects should not have any form fields, currently the user needs
 | |
|     # to manually deal with the foreignobject relation.
 | |
|     class ArticleForm(forms.ModelForm):
 | |
|         class Meta:
 | |
|             model = Article
 | |
|             fields = '__all__'
 | |
| 
 | |
|     def test_foreign_object_form(self):
 | |
|         # A very crude test checking that the non-concrete fields do not get form fields.
 | |
|         form = FormsTests.ArticleForm()
 | |
|         self.assertIn('id_pub_date', form.as_table())
 | |
|         self.assertNotIn('active_translation', form.as_table())
 | |
|         form = FormsTests.ArticleForm(data={'pub_date': str(datetime.date.today())})
 | |
|         self.assertTrue(form.is_valid())
 | |
|         a = form.save()
 | |
|         self.assertEqual(a.pub_date, datetime.date.today())
 | |
|         form = FormsTests.ArticleForm(instance=a, data={'pub_date': '2013-01-01'})
 | |
|         a2 = form.save()
 | |
|         self.assertEqual(a.pk, a2.pk)
 | |
|         self.assertEqual(a2.pub_date, datetime.date(2013, 1, 1))
 |