mirror of
				https://github.com/encode/django-rest-framework.git
				synced 2025-10-30 23:47:53 +03:00 
			
		
		
		
	Test one to one with inheritance (#4575)
This commit is contained in:
		
							parent
							
								
									8d0a91b002
								
							
						
					
					
						commit
						de08f28a91
					
				
							
								
								
									
										46
									
								
								tests/test_one_to_one_with_inheritance.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								tests/test_one_to_one_with_inheritance.py
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,46 @@ | |||
| from __future__ import unicode_literals | ||||
| 
 | ||||
| from django.db import models | ||||
| from django.test import TestCase | ||||
| 
 | ||||
| from rest_framework import serializers | ||||
| from tests.models import RESTFrameworkModel | ||||
| 
 | ||||
| 
 | ||||
| # Models | ||||
| from tests.test_multitable_inheritance import ChildModel | ||||
| 
 | ||||
| 
 | ||||
| # Regression test for #4290 | ||||
| 
 | ||||
| class ChildAssociatedModel(RESTFrameworkModel): | ||||
|     child_model = models.OneToOneField(ChildModel) | ||||
|     child_name = models.CharField(max_length=100) | ||||
| 
 | ||||
| 
 | ||||
| # Serializers | ||||
| class DerivedModelSerializer(serializers.ModelSerializer): | ||||
|     class Meta: | ||||
|         model = ChildModel | ||||
|         fields = ['id', 'name1', 'name2', 'childassociatedmodel'] | ||||
| 
 | ||||
| 
 | ||||
| class ChildAssociatedModelSerializer(serializers.ModelSerializer): | ||||
| 
 | ||||
|     class Meta: | ||||
|         model = ChildAssociatedModel | ||||
|         fields = ['id', 'child_name'] | ||||
| 
 | ||||
| 
 | ||||
| # Tests | ||||
| class InheritedModelSerializationTests(TestCase): | ||||
| 
 | ||||
|     def test_multitable_inherited_model_fields_as_expected(self): | ||||
|         """ | ||||
|         Assert that the parent pointer field is not included in the fields | ||||
|         serialized fields | ||||
|         """ | ||||
|         child = ChildModel(name1='parent name', name2='child name') | ||||
|         serializer = DerivedModelSerializer(child) | ||||
|         self.assertEqual(set(serializer.data.keys()), | ||||
|                          set(['name1', 'name2', 'id', 'childassociatedmodel'])) | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user