2 回答
TA贡献1887条经验 获得超5个赞
首先,你的GetCarFax类看起来很乱:(因为你覆盖了大多数方法,但它没有为视图提供任何优势。所以将你的GetCarFax视图类更改为下面,
class GetCarFax(viewsets.ModelViewSet):
"""
This view will be used for POSTing new carfax reports to the database
"""
queryset = CarFax.objects.all()
serializer_class = CarFaxSerializer
# authentication_classes = []
permission_classes = []
lookup_field = 'myfieldname'
这几行代码将为您处理所有CRUD操作:)
TA贡献1842条经验 获得超12个赞
接受的答案是一个很好的重构,但它没有回答问题,因此可能对未来的读者没有帮助(比如我自己,刚刚经历过这个)。真正的原因验证的数据是空是因为当你覆盖.create在ModelViewSet你消灭串行模型字段绑定,必须明确指定它们,你会经常串行器。
CarFax 序列化程序应该像这样定义:
class CarFaxSerializer(serializers.ModelSerializer):
vin = serializers.CharField(23),
structural_damage = serializers.BooleanField(),
total_loss = serializers.BooleanField(),
accident = serializers.BooleanField(),
airbags = serializers.BooleanField(),
odometer = serializers.IntegerField(),
recalls = serialziers.BooleanField(),
last_updated = serializers.DateField(),
class Meta:
model = CarFax
fields = ('vin', 'structural_damage', 'total_loss',
'accident', 'airbags', 'odometer', 'recalls',
'last_updated')
添加回答
举报