我有以下ModelSerializer:
class MaintProtoSerializer(serializers.ModelSerializer):
class Meta:
model = MaintenanceProtocol
fields= ('warranty_card_number', 'warranty_id', 'machine_id', 'inner_body_id',
'outter_body_id', 'warranty', 'date', 'seller', 'inner_cleanup',
'outter_cleanup', 'turbine_cleanup', 'filter_condition', 'pressure',
'outer_air_temp', 'inlet_air_temp', 'other_problems', 'propuski',
'client_notes', 'electricity')
及其型号:
class MaintenanceProtocol(models.Model):
warranty_card_number = models.CharField(max_length=100)
warranty_id = models.CharField(max_length=100)
machine_id = models.CharField(max_length=100)
inner_body_id = models.CharField(max_length=100)
outter_body_id = models.CharField(max_length=100)
warranty = models.BooleanField()
date = models.DateField()
seller = models.CharField(max_length=100)
inner_cleanup = models.BooleanField()
outter_cleanup = models.BooleanField()
turbine_cleanup = models.BooleanField()
filter_condition = models.TextField()
pressure = models.IntegerField()
outer_air_temp = models.IntegerField()
inlet_air_temp = models.IntegerField()
other_problems = models.TextField()
electricity = models.IntegerField()
propuski = models.TextField()
client_notes = models.TextField()
它基于传递给它的以下json反序列化对象:
{
"warranty_card_number": "profi-1234",
"warranty_id": "fji-0938",
"machine_id": "fuji",
"inner_body_id": "outter-2349",
"outter_body_id": "inner-2349",
"warranty": "yes",
"date": "2017-12-20",
"seller": "maga`zin",
"inner_cleanup": "no",
"outter_cleanup": "yes",
"turbine_cleanup": "yes",
"filter_condition": "so-so",
"pressure": "4",
"outer_air_temp": "5",
"inlet_air_temp": "23",
"electricity": "45",
"propuski": "some",
"other_problems": "none",
"client_notes": "n/a",
"sigb64": "alkjhsdfpas8df,a;lsejf,p0394"
}
所以sigb64字段实际上不是模型的一部分(并且它不能持久保存到数据库中),但是我想通过序列化程序从创建的模型中访问它 . 实现这一目标的正确方法是什么?