[英]Alllow one extra filed into serializer and return validated data with that field in Django Rest Framework
[英]Django rest framework serializer with extra field
我有一個使用Django Rest Framework的django應用程序!
我有一個模型如下:
class Author(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=40)
email = models.EmailField()
def __unicode__(self):
return u'%s %s' % (self.first_name, self.last_name)
我將序列化器定義如下:
class AuthorSerializer(serializers.ModelSerializer):
class Meta:
model = Author
fields = ('first_name', 'last_name', 'email')
在我看來,我有一個查詢如下:
author_detail = Author.objects.extra(select={'middle_name':'''SELECT middle_name from MyTable where MyTable.first_name = first_name'''})
根據查詢,我將在我的對象中得到一個額外字段,稱為middle_name
。 但是我不能再在結果對象上使用序列化程序,因為它不會在API中引入middle_name
。
我如何修改我的序列化程序以獲取middle_name
?
只需將序列化器中的字段添加為普通字段即可。
class AuthorSerializer(serializers.ModelSerializer):
middle_name = serializers.CharField()
class Meta:
model = Author
fields = ('first_name', 'last_name', 'middle_name', 'email')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.