Быстрый поиск в Google нашел метод с использованием fseek и ftell и поток с этим вопросом с ответами, что это невозможно сделать только с помощью C по-другому.
Вы можете использовать библиотеку переносимости, такую как NSPR (библиотека, которая активирует Firefox) или проверить ее реализацию (довольно волосатый).
Попробуйте это:
class AcquisitionSerializer(serializers.ModelSerializer):
class Meta:
model = Acquisitions
fields = ('id', 'implant', 'beg_acq', 'duration_acq')
class RawDatasSerializer(serializers.ModelSerializer):
class Meta:
model = RawDatas
fields = ('id', 'data_type', 'sampling_freq', 'bin_file', 'acq')
def create(self, validated_data):
acq_data = validated_data.pop('acq')
acq = Acquisitions.objects.filter(id=acq_data.get('id')).first()
if not acq:
acq = AcquisitionSerializer.create(AcquisitionSerializer(), **acq_data)
rawdata = RawDatas.objects.create(acq=acq, **validated_data)
return rawdata