mirror of
				https://github.com/encode/django-rest-framework.git
				synced 2025-10-31 16:07:38 +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