Я использую Modelserializer для сериализации данных. В одном из случаев я должен отправить некоторые дополнительные поля, кроме полей модели, в пользовательский интерфейс. Как я могу это сделать? Ниже представлен мой код -
Моя модель -
class Group(models.Model):
groupID = models.AutoField(primary_key=True, db_index=True)
groupName = models.CharField(verbose_name="Name", max_length=30)
sectionID = models.ForeignKey(Section, on_delete=models.PROTECT, db_column='sectionID')
Мой сериализатор -
class GroupSerializer(serializers.ModelSerializer):
class Meta:
model = Group
fields = ['groupID', 'groupName', 'sectionID']
Мой вид -
@api_view(['GET'])
@permission_classes((permissions.IsAuthenticated,))
def getGroupInfo(request):
groups = models.Group.objects.all()
for group in groups:
group.logical_fied = True if <Custom condition>
serializer = GroupSerializer(groups, many = True)
return Response(serializer.data)
Ожидаемый ответ включен UI
[{
"groupID":1,
"groupName":"A",
"sectionID":1,
"logical_field":True
}]
Ответ, который я получаю
[{
"groupID":1,
"groupName":"A",
"sectionID":1
}]
В моем serializer.data я не получаю логическое поле в пользовательском интерфейсе, поскольку оно не определено в GroupSerializer. Есть ли способ добиться этого?