mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-08-04 20:40:14 +03:00
Merge 35e3563e7a
into 1e9e1a5bfe
This commit is contained in:
commit
b2a4b77b79
|
@ -42,6 +42,10 @@ class OneFieldModel(models.Model):
|
|||
char_field = models.CharField(max_length=100)
|
||||
|
||||
|
||||
class ExtendedModel(OneFieldModel):
|
||||
text_field = models.TextField(max_length=100)
|
||||
|
||||
|
||||
class RegularFieldsModel(models.Model):
|
||||
"""
|
||||
A model class for testing regular flat fields.
|
||||
|
@ -151,6 +155,26 @@ class TestModelSerializer(TestCase):
|
|||
msginitial = 'Cannot use ModelSerializer with Abstract Models.'
|
||||
assert str(excinfo.exception).startswith(msginitial)
|
||||
|
||||
def test_inheritance(self):
|
||||
"""
|
||||
Check serializer contains only correct fields
|
||||
"""
|
||||
class TestSerializer(serializers.ModelSerializer):
|
||||
|
||||
class Meta:
|
||||
model = ExtendedModel
|
||||
fields = '__all__'
|
||||
|
||||
instance = ExtendedModel.objects.create(
|
||||
char_field="An Instance",
|
||||
text_field="""To check only the two fields plus id are present in data"""
|
||||
)
|
||||
|
||||
serializer = TestSerializer(instance)
|
||||
data = serializer.data
|
||||
assert len(data.keys()) == 3
|
||||
assert data.keys() == ['id', 'char_field', 'text_field',]
|
||||
|
||||
|
||||
class TestRegularFieldMappings(TestCase):
|
||||
def test_regular_fields(self):
|
||||
|
|
Loading…
Reference in New Issue
Block a user