我有这个观点:
class CommitmentList(generics.ListCreateAPIView):
permission_classes = (permissions.IsAuthenticated,)
serializer_class = CommitmentSerializer
....
和此序列化器:
class CommitmentSerializer(serializers.ModelSerializer):
commitment = serializers.ListField(child=serializers.DictField(),
write_only=True)
class Meta:
model = Commitment
fields = ....
我的模特:
class Commitment(models.Model):
signature = models.ImageField(upload_to='signatures/')
dealer = models.ForeignKey(User,
on_delete=models.CASCADE,
related_name='dealer_commitment')
grower = models.ForeignKey(User,
on_delete=models.CASCADE,
related_name='grower_commitment')
is_original = models.BooleanField(default=True)
我
在json中看起来像:
{
"dealer": "123",
"grower": "321",
"signature": IMAGE HERE
"commitment": [
{
"brand": 3,
"is_original": true,
"commitment_unit": 300
}
]
}
在邮递员中,我尝试发送这样的数据(用于测试)
但是在邮递员中我有一个错误:
{
"dealer": [
"This field is required."
],
"grower": [
"This field is required."
],
"commitment": [
"This field is required."
]
}
然后我尝试在视图中添加parser_classes = (MultiPartParser, )
,它看起来像:
class CommitmentList(generics.ListCreateAPIView):
permission_classes = (permissions.IsAuthenticated,)
serializer_class = CommitmentSerializer
parser_classes = (MultiPartParser, )
但是现在在邮递员中我遇到了一个错误:
A server error occurred. Please contact the administrator.
在Django项目中,有一个错误:
AttributeError: 'NoneType' object has no attribute 'decode'
我如何发送这样的数据?:
{
"dealer": "123",
"grower": "321",
"signature": IMAGE HERE
"commitment": [
{
"brand": 3,
"is_original": true,
"commitment_unit": 300
}
]
}