Ich habe diese Serializer, die ich Test versuche:Wie ein Filefield in Django REST-Framework testen
class AttachmentSerializer(CustomModelSerializer):
order = serializers.PrimaryKeyRelatedField()
file = FileField()
class Meta:
model = Attachment
fields = (
'id',
'order',
'name',
'file_type',
'file',
'created_at',
)
einfach Mein Test überprüft, ob es gültig ist oder nicht:
def test_serializer_create(self):
self.data = {
'order': self.order.pk,
'name': 'sample_name',
'file_type': 'image',
'created_at': datetime.now(),
'file': open(self.image_path, 'rb').read()
}
serializer = AttachmentSerializer(data=self.data)
self.assertTrue(serializer.is_valid())
Und ich bin ständig immer diese Fehlermeldung:
{'file': ['No file was submitted. Check the encoding type on the form.']}
ich habe versucht, eine Datei in einer Reihe von verschiedenen Möglichkeiten, wie mit stringi zu erstellen O/BytesIO, Datei usw. ohne Erfolg.
Was könnte falsch sein?
Sie sollten dies lesen http://www.django-rest-framework.org/api-guide/fields/#file-upload-fields. Ihre Daten müssen ordnungsgemäß geparst werden. –